mirror of https://git.tukaani.org/xz.git
CMake: Add liblzma tests.
Thanks to Jia Tan for the patch.
This commit is contained in:
parent
02a777f9c4
commit
df23c31000
|
@ -17,7 +17,7 @@
|
||||||
#
|
#
|
||||||
# Other missing things:
|
# Other missing things:
|
||||||
# - No xzgrep or other scripts or their symlinks
|
# - No xzgrep or other scripts or their symlinks
|
||||||
# - No tests (no test failures either!)
|
# - No xz tests (liblzma tests only)
|
||||||
#
|
#
|
||||||
# NOTE: Even if the code compiles without warnings, the end result may be
|
# NOTE: Even if the code compiles without warnings, the end result may be
|
||||||
# different than via ./configure. Specifically, the list of #defines
|
# different than via ./configure. Specifically, the list of #defines
|
||||||
|
@ -685,3 +685,54 @@ if(NOT MSVC AND HAVE_GETOPT_LONG)
|
||||||
DESTINATION "${CMAKE_INSTALL_MANDIR}/man1"
|
DESTINATION "${CMAKE_INSTALL_MANDIR}/man1"
|
||||||
COMPONENT xz)
|
COMPONENT xz)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
#############################################################################
|
||||||
|
# Tests
|
||||||
|
#############################################################################
|
||||||
|
|
||||||
|
include(CTest)
|
||||||
|
|
||||||
|
if(BUILD_TESTING)
|
||||||
|
set(LIBLZMA_TESTS
|
||||||
|
test_bcj_exact_size
|
||||||
|
test_block_header
|
||||||
|
test_check
|
||||||
|
test_filter_flags
|
||||||
|
test_hardware
|
||||||
|
test_index
|
||||||
|
test_stream_flags
|
||||||
|
test_vli
|
||||||
|
)
|
||||||
|
|
||||||
|
foreach(TEST IN LISTS LIBLZMA_TESTS)
|
||||||
|
add_executable("${TEST}" "tests/${TEST}.c")
|
||||||
|
|
||||||
|
target_include_directories("${TEST}" PRIVATE
|
||||||
|
src/common
|
||||||
|
src/liblzma/api
|
||||||
|
lib
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries("${TEST}" PRIVATE liblzma)
|
||||||
|
|
||||||
|
# Put the test programs into their own subdirectory so they don't
|
||||||
|
# pollute the top-level dir which might contain xz and xzdec.
|
||||||
|
set_target_properties("${TEST}" PROPERTIES
|
||||||
|
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/tests_bin"
|
||||||
|
)
|
||||||
|
|
||||||
|
add_test(NAME "${TEST}"
|
||||||
|
COMMAND "${CMAKE_CURRENT_BINARY_DIR}/tests_bin/${TEST}"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Set srcdir environment variable so that the tests find their
|
||||||
|
# input files from the source tree.
|
||||||
|
#
|
||||||
|
# Set the return code for skipped tests to match Automake convention.
|
||||||
|
set_tests_properties("${TEST}" PROPERTIES
|
||||||
|
ENVIRONMENT "srcdir=${CMAKE_CURRENT_LIST_DIR}/tests"
|
||||||
|
SKIP_RETURN_CODE 77
|
||||||
|
)
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
|
Loading…
Reference in New Issue