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()