Adding a basic test for lossless. (#984)
This will be used when YCgCo-R is added next.
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index a46342a..eab84e6 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -42,9 +42,14 @@
################################################################################
# GoogleTest
-if(AVIF_ENABLE_GTEST)
+if(AVIF_ENABLE_GTEST OR AVIF_BUILD_APPS)
enable_language(CXX)
set(CMAKE_CXX_STANDARD 11)
+ add_library(aviftest_helpers OBJECT gtest/aviftest_helpers.cc)
+ target_link_libraries(aviftest_helpers avif ${AVIF_PLATFORM_LIBRARIES})
+endif()
+
+if(AVIF_ENABLE_GTEST)
if(AVIF_LOCAL_GTEST)
set(GTEST_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/ext/googletest/googletest/include)
set(GTEST_LIBRARIES ${CMAKE_SOURCE_DIR}/ext/googletest/build/lib/libgtest${CMAKE_STATIC_LIBRARY_SUFFIX})
@@ -63,9 +68,6 @@
find_package(GTest REQUIRED)
endif()
- add_library(aviftest_helpers OBJECT gtest/aviftest_helpers.cc)
- target_link_libraries(aviftest_helpers avif ${AVIF_PLATFORM_LIBRARIES})
-
add_executable(avifgridapitest gtest/avifgridapitest.cc)
target_link_libraries(avifgridapitest aviftest_helpers ${GTEST_BOTH_LIBRARIES})
target_include_directories(avifgridapitest PRIVATE ${GTEST_INCLUDE_DIRS})
@@ -96,3 +98,17 @@
else()
message(STATUS "Most tests are disabled because AVIF_ENABLE_GTEST is OFF.")
endif()
+
+################################################################################
+# Bash tests
+
+if(AVIF_BUILD_APPS)
+ # When building apps, test the avifenc/avifdec.
+ # 'are_images_equal' is used to make sure inputs/outputs are unchanged.
+ add_executable(are_images_equal gtest/are_images_equal.cc)
+ target_link_libraries(are_images_equal aviftest_helpers avif_apps)
+ add_test(
+ NAME test_cmd
+ COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/test_cmd.sh ${CMAKE_BINARY_DIR}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+endif()