]> git.ipfire.org Git - thirdparty/xz.git/commitdiff
CMake: Add support for test_compress.sh tests
authorLasse Collin <lasse.collin@tukaani.org>
Mon, 20 May 2024 13:55:00 +0000 (16:55 +0300)
committerLasse Collin <lasse.collin@tukaani.org>
Thu, 23 May 2024 08:36:05 +0000 (11:36 +0300)
(cherry picked from commit b40e6efbb48d740b9b5b303e59e344801cbb5bd8)

tests/tests.cmake

index 2e9e80a3b1d416a469c4fa78788ff8ee36316612..cb091eb235d857073e6b05a999baa10b39044925 100644 (file)
@@ -147,4 +147,30 @@ if(BUILD_TESTING)
             SKIP_RETURN_CODE 77
         )
     endif()
+
+    # The test_compress.sh based tests compress and decompress using different
+    # filters so run it only if all encoders and decoders have been enabled.
+    if(UNIX AND HAVE_ALL_ENCODERS AND HAVE_ALL_DECODERS)
+        file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_compress")
+
+        add_executable(create_compress_files tests/create_compress_files.c)
+        target_include_directories(create_compress_files PRIVATE src/common)
+        set_target_properties(create_compress_files PROPERTIES
+                              RUNTIME_OUTPUT_DIRECTORY test_compress)
+
+        foreach(T compress_generated_abc
+                  compress_generated_text
+                  compress_generated_random)
+            add_test(NAME "test_${T}"
+                COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tests/test_compress.sh"
+                        "${T}" ".."
+                WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test_compress"
+            )
+
+            set_tests_properties("test_${T}" PROPERTIES
+                ENVIRONMENT "srcdir=${CMAKE_CURRENT_SOURCE_DIR}/tests"
+                SKIP_RETURN_CODE 77
+            )
+        endforeach()
+    endif()
 endif()