aboutsummaryrefslogtreecommitdiff
path: root/contrib/puff/test
diff options
context:
space:
mode:
authorWerner <led-control@vollstreckernet.de>2026-01-30 15:41:54 +0100
committerMark Adler <git@madler.net>2026-01-31 20:15:09 -0800
commit46e7092741424ec15a55d7b2da7a515dc7933217 (patch)
tree68e8545aad4639faa3dfbe694bc4b8e9bd6c3dac /contrib/puff/test
parentc4d26cad9f866c08a1f079b1fe0bf19c5632569e (diff)
downloadzlib-46e7092741424ec15a55d7b2da7a515dc7933217.tar.gz
zlib-46e7092741424ec15a55d7b2da7a515dc7933217.tar.bz2
zlib-46e7092741424ec15a55d7b2da7a515dc7933217.zip
CMake: Move the testers to the test directory.
Diffstat (limited to 'contrib/puff/test')
-rw-r--r--contrib/puff/test/CMakeLists.txt71
-rw-r--r--contrib/puff/test/tester-cov.cmake58
-rw-r--r--contrib/puff/test/tester.cmake16
3 files changed, 145 insertions, 0 deletions
diff --git a/contrib/puff/test/CMakeLists.txt b/contrib/puff/test/CMakeLists.txt
index 2548d571..c7077f8a 100644
--- a/contrib/puff/test/CMakeLists.txt
+++ b/contrib/puff/test/CMakeLists.txt
@@ -18,6 +18,77 @@ else(DEFINED ZLIB_BUILD_PUFF)
18 FIXTURES_SETUP zlib_puff_install) 18 FIXTURES_SETUP zlib_puff_install)
19endif(DEFINED ZLIB_BUILD_PUFF) 19endif(DEFINED ZLIB_BUILD_PUFF)
20 20
21if(ZLIB_PUFF_BUILD_SHARED AND NOT WIN32)
22 add_executable(zlib_puff_test
23 ${puff_SOURCE_DIR}/pufftest.c
24 ${puff_SOURCE_DIR}/puff.h)
25
26 target_link_libraries(zlib_puff_test
27 PRIVATE zlib_puff_puff)
28
29 add_test(NAME zlib_puff_test
30 COMMAND ${CMAKE_COMMAND} -P
31 ${CMAKE_CURRENT_SOURCE_DIR}/tester.cmake
32 "$<TARGET_FILE:zlib_puff_test>"
33 "${puff_SOURCE_DIR}")
34
35 if(GCOV_EXECUTABLE)
36 add_executable(zlib_puff_test-coverage
37 ${puff_SOURCE_DIR}/pufftest.c
38 ${puff_SOURCE_DIR}/puff.c
39 ${puff_SOURCE_DIR}/puff.h)
40
41 target_compile_options(zlib_puff_test-coverage PRIVATE -coverage)
42
43 target_link_options(zlib_puff_test-coverage PRIVATE -coverage)
44
45 add_test(NAME zlib_puff_test-coverage
46 COMMAND ${CMAKE_COMMAND} -P
47 ${CMAKE_CURRENT_SOURCE_DIR}/tester-cov.cmake
48 "$<TARGET_FILE:zlib_puff_test-coverage>"
49 "${puff_SOURCE_DIR}"
50 "$<TARGET_FILE:zlib_puff_bin-writer>"
51 ${GCOV_EXECUTABLE}
52 ${llvm_option})
53 endif(GCOV_EXECUTABLE)
54endif(ZLIB_PUFF_BUILD_SHARED AND NOT WIN32)
55
56if(ZLIB_PUFF_BUILD_STATIC AND NOT WIN32)
57 add_executable(zlib_puff_testStatic
58 ${puff_SOURCE_DIR}/pufftest.c
59 ${puff_SOURCE_DIR}/puff.h)
60
61 target_link_libraries(zlib_puff_testStatic
62 PRIVATE zlib_puff_puffStatic)
63 add_test(NAME zlib_puff_testStatic
64 COMMAND ${CMAKE_COMMAND} -P
65 ${CMAKE_CURRENT_SOURCE_DIR}/tester.cmake
66 "$<TARGET_FILE:zlib_puff_testStatic>"
67 "${puff_SOURCE_DIR}")
68
69 if(GCOV_EXECUTABLE)
70 add_executable(zlib_puff_testStatic-coverage
71 ${puff_SOURCE_DIR}/pufftest.c
72 ${puff_SOURCE_DIR}/puff.c
73 ${puff_SOURCE_DIR}/puff.h)
74
75 target_compile_options(zlib_puff_testStatic-coverage
76 PRIVATE -coverage)
77
78 target_link_options(zlib_puff_testStatic-coverage
79 PRIVATE -coverage)
80
81 add_test(NAME zlib_puff_testStatic-coverage
82 COMMAND ${CMAKE_COMMAND} -P
83 ${CMAKE_CURRENT_SOURCE_DIR}/tester-cov.cmake
84 "$<TARGET_FILE:zlib_puff_testStatic-coverage>"
85 "${puff_SOURCE_DIR}"
86 "$<TARGET_FILE:zlib_puff_bin-writer>"
87 ${GCOV_EXECUTABLE}
88 ${llvm_option})
89 endif(GCOV_EXECUTABLE)
90endif(ZLIB_PUFF_BUILD_STATIC AND NOT WIN32)
91
21file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) 92file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test)
22file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test) 93file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test)
23file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test) 94file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test)
diff --git a/contrib/puff/test/tester-cov.cmake b/contrib/puff/test/tester-cov.cmake
new file mode 100644
index 00000000..a91c6fd9
--- /dev/null
+++ b/contrib/puff/test/tester-cov.cmake
@@ -0,0 +1,58 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3#CMAKE_ARGV0 = ${CMAKE_COMMAND}
4#CMAKE_ARGV1 = -P
5#CMAKE_ARGV2 = ${CMAKE_CURRENT_SOURCE_DIR}/tester-cov.cmake
6#CMAKE_ARGV3 = "$<TARGET_FILE:puff-test-cov>"
7#CMAKE_ARGV4 = "${CMAKE_CURRENT_SOURCE_DIR}"
8#CMAKE_ARGV5 = "${CMAKE_CURRENT_BINARY_DIR}"
9#CMAKE_ARGV6 = GCOV_EXECUTABLE
10#CMAKE_ARGV7 = GCOV_EXECUTABLE
11
12function(puff_cov_test test_string expected_result)
13 execute_process(COMMAND ${CMAKE_ARGV0} -E echo_append ${test_string}
14 COMMAND ${CMAKE_ARGV5}
15 COMMAND ${CMAKE_ARGV3}
16 RESULT_VARIABLE RESULT)
17
18 if(NOT RESULT EQUAL expected_result)
19 message(FATAL_ERROR "Received Exit-Code: ${RESULT}\n"
20 "Expected Exit-Code: ${expected_result}\n"
21 "Test-String: ${test_string}")
22 endif(NOT RESULT EQUAL expected_result)
23endfunction(puff_cov_test test_string expected_result)
24
25execute_process(COMMAND ${CMAKE_ARGV3} -w ${CMAKE_ARGV4}/zeros.raw)
26
27puff_cov_test("04" "2")
28puff_cov_test("00" "2")
29puff_cov_test("00 00 00 00 00" "254")
30puff_cov_test("00 01 00 fe ff" "2")
31
32execute_process(COMMAND ${CMAKE_ARGV0} -E echo_append "01 01 00 fe ff 0a"
33 COMMAND ${CMAKE_ARGV5}
34 COMMAND ${CMAKE_ARGV3})
35
36puff_cov_test("02 7e ff ff" "246")
37puff_cov_test("02" "2")
38puff_cov_test("04 80 49 92 24 49 92 24 0f b4 ff ff c3 04" "2")
39puff_cov_test("04 80 49 92 24 49 92 24 71 ff ff 93 11 00" "249")
40puff_cov_test("04 c0 81 08 00 00 00 00 20 7f eb 0b 00 00" "246")
41
42execute_process(COMMAND ${CMAKE_ARGV0} -E echo_append "0b 00 00"
43 COMMAND ${CMAKE_ARGV5}
44 COMMAND ${CMAKE_ARGV3})
45
46puff_cov_test("1a 07" "246")
47puff_cov_test("0c c0 81 00 00 00 00 00 90 ff 6b 04" "245")
48
49execute_process(COMMAND ${CMAKE_ARGV3} -f ${CMAKE_ARGV4}/zeros.raw)
50
51puff_cov_test("fc 00 00" "253")
52puff_cov_test("04 00 fe ff" "252")
53puff_cov_test("04 00 24 49" "251")
54puff_cov_test("04 80 49 92 24 49 92 24 0f b4 ff ff c3 84" "248")
55puff_cov_test("04 00 24 e9 ff ff" "250")
56puff_cov_test("04 00 24 e9 ff 6d" "247")
57
58execute_process(COMMAND ${CMAKE_ARGV6} ${CMAKE_ARGV7} -n puff.c.gcno)
diff --git a/contrib/puff/test/tester.cmake b/contrib/puff/test/tester.cmake
new file mode 100644
index 00000000..3216d7c9
--- /dev/null
+++ b/contrib/puff/test/tester.cmake
@@ -0,0 +1,16 @@
1cmake_minimum_required(VERSION 3.12...3.31)
2
3#CMAKE_ARGV0 = ${CMAKE_COMMAND}
4#CMAKE_ARGV1 = -P
5#CMAKE_ARGV2 = ${CMAKE_CURRENT_SOURCE_DIR}/tester.cmake
6#CMAKE_ARGV3 = "$<TARGET_FILE:puff-test>"
7#CMAKE_ARGV4 = "${CMAKE_CURRENT_SOURCE_DIR}"
8
9execute_process(COMMAND ${CMAKE_ARGV3}
10 INPUT_FILE "${CMAKE_ARGV4}/zeros.raw"
11 RESULT_VARIABLE RESULT
12 COMMAND_ECHO STDERR)
13
14if(RESULT)
15 message(FATAL_ERROR "Command exitited with: ${RESULT}")
16endif(RESULT)