summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-06-28 06:22:15 +0100
committerSam James <sam@gentoo.org>2023-02-22 22:59:11 +0000
commitbda075a7f3ed8b83b2c26a18361b3e93679c1ae8 (patch)
treefd83cb47901263955d4110a1a333435beb0700c0
parent223078d72232c1e71e2fddb140d232c457667d19 (diff)
downloadlibtiff-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.txt166
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()