diff options
author | Sam James <sam@gentoo.org> | 2022-06-28 06:22:15 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2023-02-22 22:59:11 +0000 |
commit | bda075a7f3ed8b83b2c26a18361b3e93679c1ae8 (patch) | |
tree | fd83cb47901263955d4110a1a333435beb0700c0 | |
parent | 223078d72232c1e71e2fddb140d232c457667d19 (diff) | |
download | libtiff-git-bda075a7f3ed8b83b2c26a18361b3e93679c1ae8.tar.gz |
test (cmake): skip script tests if tools aren't built
In Gentoo, we avoid building the tools for multilib (32-bit, x86) builds on
amd64/x86_64 because we only need the library to keep binary applications working.
This causes a test failure in e.g. tiffcp-thumbnail.sh as the 'thumbnail'
binary isn't built. Skip it if unavailable.
Fixes: https://gitlab.com/libtiff/libtiff/-/issues/421
Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r-- | test/CMakeLists.txt | 166 |
1 files changed, 85 insertions, 81 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index b00c1f68..779c6e7e 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -216,11 +216,14 @@ endif() set(TEST_OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/output") file(MAKE_DIRECTORY "${TEST_OUTPUT}") -set(tiff_test_extra_args - "-DTIFFCP=$<TARGET_FILE:tiffcp>" - "-DTIFFINFO=$<TARGET_FILE:tiffinfo>" - "-DTIFFSPLIT=$<TARGET_FILE:tiffsplit>" - "-DLIBTIFF=$<TARGET_FILE:tiff>") +set(tiff_test_extra_args "-DLIBTIFF=$<TARGET_FILE:tiff>") + +if(tiff-tools) + list(APPEND tiff_test_extra_args "-DTIFFCP=$<TARGET_FILE:tiffcp>") + list(APPEND tiff_test_extra_args "-DTIFFINFO=$<TARGET_FILE:tiffinfo>") + list(APPEND tiff_test_extra_args "-DTIFFSPLIT=$<TARGET_FILE:tiffsplit>") +endif() + if(WIN32) list(APPEND tiff_test_extra_args "-DWIN32=${WIN32}") endif() @@ -361,79 +364,80 @@ foreach(target IN LISTS simple_tests) tiff_test_stdout_noargs("${target}" "${target}") endforeach() - -# PPM -add_convert_test(ppm2tiff miniswhite "" "images/miniswhite-1c-1b.pbm" TRUE) -add_convert_test(ppm2tiff minisblack "" "images/minisblack-1c-8b.pgm" TRUE) -add_convert_test(ppm2tiff rgb "" "images/rgb-3c-16b.ppm" TRUE) -add_convert_test(ppm2tiff rgb "" "images/rgb-3c-8b.ppm" TRUE) - -# tiffcp -add_convert_test(tiffcp g3 "-c g3" "images/miniswhite-1c-1b.tiff" FALSE) -add_convert_test(tiffcp g31d "-c g3:1d" "images/miniswhite-1c-1b.tiff" FALSE) -add_convert_test(tiffcp g31dfill "-c g3:1d:fill" "images/miniswhite-1c-1b.tiff" FALSE) -add_convert_test(tiffcp g32d "-c g3:2d" "images/miniswhite-1c-1b.tiff" FALSE) -add_convert_test(tiffcp g32dfill "-c g3:2d:fill" "images/miniswhite-1c-1b.tiff" FALSE) -add_convert_test(tiffcp g4 "-c g4" "images/miniswhite-1c-1b.tiff" FALSE) -add_convert_test_multi(tiffcp tiffcp "" logluv "-c none" "-c sgilog" "" - "images/logluv-3c-16b.tiff" FALSE) -add_convert_test_multi(tiffcp thumbnail "" thumbnail "-c g3:1d" "" "" - "images/miniswhite-1c-1b.tiff" FALSE) -add_convert_test(tiffcp none "-c none" "images/quad-lzw-compat.tiff" FALSE) -add_convert_test(tiffcp noner1 "-c none -r 1" "images/lzw-single-strip.tiff" FALSE) -add_convert_test(tiffcp float64_lzw_2_le "-c lzw:2" "images/test_float64_predictor2_le_lzw.tif" FALSE) -add_convert_test(tiffcp float64_lzw_2_be "-c lzw:2" "images/test_float64_predictor2_be_lzw.tif" FALSE) - -# tiffdump -add_reader_test(tiffdump "" "images/miniswhite-1c-1b.tiff") - -# tiffinfo -add_reader_test(tiffinfo "-c -D -d -j -s" "images/custom_dir_EXIF_GPS.tiff") -add_reader_test(tiffinfo "-c -D -d -j -s" "images/minisblack-1c-16b.tiff") -add_reader_test(tiffinfo " " "images/tiff_with_subifd_chain.tif") - -# tiffcp split/join -foreach(image ${UNCOMPRESSEDIMAGES}) - list(APPEND ESCAPED_UNCOMPRESSED "${CMAKE_CURRENT_SOURCE_DIR}/${image}") -endforeach() -string(REPLACE ";" "^" ESCAPED_UNCOMPRESSED "${ESCAPED_UNCOMPRESSED}") -add_test(NAME "tiffcp-split" - COMMAND "${CMAKE_COMMAND}" - "-DTESTFILES=${ESCAPED_UNCOMPRESSED}" - "-DCONJOINED=${TEST_OUTPUT}/tiffcp-split-conjoined.tiff" - "-DSPLITFILE=${TEST_OUTPUT}/tiffcp-split-split-" - ${tiff_test_extra_args} - -P "${CMAKE_CURRENT_SOURCE_DIR}/TiffSplitTest.cmake") -add_test(NAME "tiffcp-split-join" - COMMAND "${CMAKE_COMMAND}" - "-DTESTFILES=${ESCAPED_UNCOMPRESSED}" - "-DCONJOINED=${TEST_OUTPUT}/tiffcp-split-join-conjoined.tiff" - "-DSPLITFILE=${TEST_OUTPUT}/tiffcp-split-join-split-" - "-DRECONJOINED=${TEST_OUTPUT}/tiffcp-split-join-reconjoined.tiff" - ${tiff_test_extra_args} - -P "${CMAKE_CURRENT_SOURCE_DIR}/TiffSplitTest.cmake") - -# PDF -add_stdout_test(tiff2pdf "" "" "images/miniswhite-1c-1b.tiff" TRUE) - -# PS -add_stdout_test(tiff2ps "ps-1" "-a -p -1" "images/miniswhite-1c-1b.tiff" TRUE) -add_stdout_test(tiff2ps "ps-2" "-a -p -2" "images/miniswhite-1c-1b.tiff" TRUE) -add_stdout_test(tiff2ps "ps-3" "-a -p -3" "images/miniswhite-1c-1b.tiff" TRUE) -add_stdout_test(tiff2ps "eps-1" "-e -1" "images/miniswhite-1c-1b.tiff" TRUE) - -# BW -add_convert_tests(tiff2bw default "" RGBIMAGES TRUE) - -# RGBA -add_convert_tests(tiff2rgba default "" TIFFIMAGES TRUE) -# RGBA (old-jpeg) -add_convert_tests(tiff2rgba default "" TIFFIMAGES_OJPEG TRUE) -# Test rotations -add_convert_tests(tiffcrop R90 "-R90" TIFFIMAGES TRUE) -# Test flip (mirror) -add_convert_tests(tiffcrop doubleflip "-F both" TIFFIMAGES TRUE) -# Test extracting a section 60 pixels wide and 60 pixels high -add_convert_tests(tiffcrop extract "-U px -E top -X 60 -Y 60" TIFFIMAGES TRUE) -# Test extracting the first and fourth quarters from the left side. -add_convert_tests(tiffcrop extractz14 "-E left -Z1:4,2:4" TIFFIMAGES TRUE) +if(tiff-tools) + # PPM + add_convert_test(ppm2tiff miniswhite "" "images/miniswhite-1c-1b.pbm" TRUE) + add_convert_test(ppm2tiff minisblack "" "images/minisblack-1c-8b.pgm" TRUE) + add_convert_test(ppm2tiff rgb "" "images/rgb-3c-16b.ppm" TRUE) + add_convert_test(ppm2tiff rgb "" "images/rgb-3c-8b.ppm" TRUE) + + # tiffcp + add_convert_test(tiffcp g3 "-c g3" "images/miniswhite-1c-1b.tiff" FALSE) + add_convert_test(tiffcp g31d "-c g3:1d" "images/miniswhite-1c-1b.tiff" FALSE) + add_convert_test(tiffcp g31dfill "-c g3:1d:fill" "images/miniswhite-1c-1b.tiff" FALSE) + add_convert_test(tiffcp g32d "-c g3:2d" "images/miniswhite-1c-1b.tiff" FALSE) + add_convert_test(tiffcp g32dfill "-c g3:2d:fill" "images/miniswhite-1c-1b.tiff" FALSE) + add_convert_test(tiffcp g4 "-c g4" "images/miniswhite-1c-1b.tiff" FALSE) + add_convert_test_multi(tiffcp tiffcp "" logluv "-c none" "-c sgilog" "" + "images/logluv-3c-16b.tiff" FALSE) + add_convert_test_multi(tiffcp thumbnail "" thumbnail "-c g3:1d" "" "" + "images/miniswhite-1c-1b.tiff" FALSE) + add_convert_test(tiffcp none "-c none" "images/quad-lzw-compat.tiff" FALSE) + add_convert_test(tiffcp noner1 "-c none -r 1" "images/lzw-single-strip.tiff" FALSE) + add_convert_test(tiffcp float64_lzw_2_le "-c lzw:2" "images/test_float64_predictor2_le_lzw.tif" FALSE) + add_convert_test(tiffcp float64_lzw_2_be "-c lzw:2" "images/test_float64_predictor2_be_lzw.tif" FALSE) + + # tiffdump + add_reader_test(tiffdump "" "images/miniswhite-1c-1b.tiff") + + # tiffinfo + add_reader_test(tiffinfo "-c -D -d -j -s" "images/custom_dir_EXIF_GPS.tiff") + add_reader_test(tiffinfo "-c -D -d -j -s" "images/minisblack-1c-16b.tiff") + add_reader_test(tiffinfo " " "images/tiff_with_subifd_chain.tif") + + # tiffcp split/join + foreach(image ${UNCOMPRESSEDIMAGES}) + list(APPEND ESCAPED_UNCOMPRESSED "${CMAKE_CURRENT_SOURCE_DIR}/${image}") + endforeach() + string(REPLACE ";" "^" ESCAPED_UNCOMPRESSED "${ESCAPED_UNCOMPRESSED}") + add_test(NAME "tiffcp-split" + COMMAND "${CMAKE_COMMAND}" + "-DTESTFILES=${ESCAPED_UNCOMPRESSED}" + "-DCONJOINED=${TEST_OUTPUT}/tiffcp-split-conjoined.tiff" + "-DSPLITFILE=${TEST_OUTPUT}/tiffcp-split-split-" + ${tiff_test_extra_args} + -P "${CMAKE_CURRENT_SOURCE_DIR}/TiffSplitTest.cmake") + add_test(NAME "tiffcp-split-join" + COMMAND "${CMAKE_COMMAND}" + "-DTESTFILES=${ESCAPED_UNCOMPRESSED}" + "-DCONJOINED=${TEST_OUTPUT}/tiffcp-split-join-conjoined.tiff" + "-DSPLITFILE=${TEST_OUTPUT}/tiffcp-split-join-split-" + "-DRECONJOINED=${TEST_OUTPUT}/tiffcp-split-join-reconjoined.tiff" + ${tiff_test_extra_args} + -P "${CMAKE_CURRENT_SOURCE_DIR}/TiffSplitTest.cmake") + + # PDF + add_stdout_test(tiff2pdf "" "" "images/miniswhite-1c-1b.tiff" TRUE) + + # PS + add_stdout_test(tiff2ps "ps-1" "-a -p -1" "images/miniswhite-1c-1b.tiff" TRUE) + add_stdout_test(tiff2ps "ps-2" "-a -p -2" "images/miniswhite-1c-1b.tiff" TRUE) + add_stdout_test(tiff2ps "ps-3" "-a -p -3" "images/miniswhite-1c-1b.tiff" TRUE) + add_stdout_test(tiff2ps "eps-1" "-e -1" "images/miniswhite-1c-1b.tiff" TRUE) + + # BW + add_convert_tests(tiff2bw default "" RGBIMAGES TRUE) + + # RGBA + add_convert_tests(tiff2rgba default "" TIFFIMAGES TRUE) + # RGBA (old-jpeg) + add_convert_tests(tiff2rgba default "" TIFFIMAGES_OJPEG TRUE) + # Test rotations + add_convert_tests(tiffcrop R90 "-R90" TIFFIMAGES TRUE) + # Test flip (mirror) + add_convert_tests(tiffcrop doubleflip "-F both" TIFFIMAGES TRUE) + # Test extracting a section 60 pixels wide and 60 pixels high + add_convert_tests(tiffcrop extract "-U px -E top -X 60 -Y 60" TIFFIMAGES TRUE) + # Test extracting the first and fourth quarters from the left side. + add_convert_tests(tiffcrop extractz14 "-E left -Z1:4,2:4" TIFFIMAGES TRUE) +endif() |