tests: unify cmake test code into a single macro

This makes the test code a lot easier to manage rather than copying &
pasting the same boiler plate multiple times.

Also take the opportunity to add a common prefix to each test name so
we don't get collisions between subdirs if a test happens to use the
same exact name.
This commit is contained in:
Mike Frysinger 2016-04-30 16:25:09 -04:00
parent ef9b000d39
commit adc8598dcb
43 changed files with 60 additions and 223 deletions

View File

@ -9,6 +9,8 @@ PROJECT(GD)
SET(CMAKE_MODULE_PATH "${GD_SOURCE_DIR}/cmake/modules")
include(gd)
OPTION(ENABLE_PNG "Enable PNG support" 0)
OPTION(ENABLE_LIQ "Enable libimagequant support" 0)
OPTION(ENABLE_JPEG "Enable JPEG support" 0)

View File

@ -1 +1,13 @@
option(BUILD_TEST "Compile examples in the build tree and enable ctest" OFF)
# This expects TESTS_FILES to already be defined to the lists of tests.
# Extra libs can be passed in as the 1st argument.
MACRO(ADD_GD_TESTS)
GET_FILENAME_COMPONENT(TEST_PREFIX ${CMAKE_CURRENT_SOURCE_DIR} NAME_WE)
FOREACH(test_name ${TESTS_FILES})
SET(test_prog_name "test_${TEST_PREFIX}_${test_name}")
add_executable(${test_prog_name} "${test_name}.c")
target_link_libraries (${test_prog_name} gdTest ${ARGV0})
add_test(NAME ${test_prog_name} COMMAND ${test_prog_name})
ENDFOREACH(test_name)
ENDMACRO(ADD_GD_TESTS)

View File

@ -1,11 +1,6 @@
SET(TESTS_FILES
bmp_im2im
bmp_null
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest ${GD_LIB})
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -2,8 +2,4 @@ SET(TESTS_FILES
# bug00132
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,4 +1,3 @@
SET(TESTS_FILES
gd_im2im
gd_null
@ -6,8 +5,4 @@ SET(TESTS_FILES
gd_versiontest
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,4 +1,3 @@
SET(TESTS_FILES
gd2_read
gd2_empty_file
@ -6,8 +5,4 @@ SET(TESTS_FILES
gd2_null
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -2,8 +2,4 @@ SET(TESTS_FILES
bug00079
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -2,8 +2,4 @@ SET(TESTS_FILES
gdimagecolorclosest
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -2,8 +2,4 @@ SET(TESTS_FILES
gdimagecolordeallocate
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -2,8 +2,4 @@ SET(TESTS_FILES
gdimagecolorexact
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -2,8 +2,4 @@ SET(TESTS_FILES
gdimagecolorreplace
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -2,8 +2,4 @@ SET(TESTS_FILES
gdimagecolorresolve
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -2,8 +2,4 @@ SET(TESTS_FILES
gdimagecolortransparent
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -3,8 +3,4 @@ SET(TESTS_FILES
bug00081
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,10 +1,5 @@
SET(TESTS_FILES
bug00020
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,9 +1,5 @@
SET(TESTS_FILES
gdnametest
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,4 +1,3 @@
SET(TESTS_FILES
bug00002_1
bug00002_2
@ -6,8 +5,5 @@ SET(TESTS_FILES
bug00002_4
bug00104_1
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,11 +1,6 @@
SET(TESTS_FILES
bug00010
bug00191
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -6,8 +6,4 @@ SET(TESTS_FILES
bug00100
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -4,8 +4,4 @@ SET(TESTS_FILES
bug00106_gdimagefilledrectangle
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,9 +1,5 @@
SET(TESTS_FILES
bug00037
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,9 +1,5 @@
SET(TESTS_FILES
gdCopyBlurred
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -6,8 +6,4 @@ SET(TESTS_FILES
bug00111
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest m)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS(m)

View File

@ -5,8 +5,4 @@ SET(TESTS_FILES
gdimageopenpolygon3
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -2,8 +2,4 @@ SET(TESTS_FILES
gdimagepixelate
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -5,8 +5,4 @@ SET(TESTS_FILES
gdimagepolygon3
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -3,8 +3,4 @@ SET(TESTS_FILES
bug00106_gdimagerectangle
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -3,8 +3,4 @@ SET(TESTS_FILES
php_bug_64898
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -3,8 +3,4 @@ SET(TESTS_FILES
bug00208_2
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -4,8 +4,4 @@ SET(TESTS_FILES
gdeffectmultiply
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -2,8 +2,4 @@ SET(TESTS_FILES
gdimagestringft_bbox
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -2,8 +2,4 @@ SET(TESTS_FILES
gdimagestringftex_returnfontpathname
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,10 +1,6 @@
SET(TESTS_FILES
gdModesAndPalettes
gdTrivialResize
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -2,8 +2,4 @@ SET(TESTS_FILES
gdnewfilectx_null
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -2,8 +2,4 @@ SET(TESTS_FILES
bug00032
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,4 +1,3 @@
SET(TESTS_FILES
gif_im2im
gif_null
@ -11,8 +10,4 @@ SET(TESTS_FILES
bug00227
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,4 +1,3 @@
SET(TESTS_FILES
jpeg_im2im
jpeg_null
@ -7,8 +6,4 @@ SET(TESTS_FILES
jpeg_resolution
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,4 +1,3 @@
SET(TESTS_FILES
png_im2im
png_null
@ -10,8 +9,4 @@ SET(TESTS_FILES
bug00193
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,11 +1,6 @@
SET(TESTS_FILES
tga_null
bug00084
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,12 +1,7 @@
SET(TESTS_FILES
tiff_im2im
tiff_null
tiff_dpi
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,11 +1,6 @@
SET(TESTS_FILES
wbmp_im2im
wbmp_null
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,10 +1,5 @@
SET(TESTS_FILES
bug00111
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()

View File

@ -1,12 +1,7 @@
SET(TESTS_FILES
bug00166
bug00185
color_name
)
FOREACH(test_name ${TESTS_FILES})
add_executable(${test_name} "${test_name}.c")
target_link_libraries (${test_name} gdTest)
add_test(NAME ${test_name} COMMAND ${test_name})
ENDFOREACH(test_name)
ADD_GD_TESTS()