Squashed 'external/unarr/' content from commit f243d72fb3
git-subtree-dir: external/unarr git-subtree-split: f243d72fb3fe418c26a19514609ac7167d089df4
This commit is contained in:
81
test/CMakeLists.txt
Normal file
81
test/CMakeLists.txt
Normal file
@@ -0,0 +1,81 @@
|
||||
# project (unarr-test C)
|
||||
|
||||
include(ProcessorCount)
|
||||
ProcessorCount(N)
|
||||
|
||||
if(BUILD_FUZZER)
|
||||
add_executable(fuzzer fuzzer.c)
|
||||
set_target_properties(fuzzer PROPERTIES LINK_FLAGS "${sanitize_opts}")
|
||||
target_link_libraries(fuzzer unarr)
|
||||
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/corpus)
|
||||
file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/corpus/fuzzed)
|
||||
|
||||
add_test(NAME fuzzer_test
|
||||
COMMAND fuzzer ${CMAKE_CURRENT_SOURCE_DIR}/corpus/fuzzed
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/corpus -jobs=${N})
|
||||
endif()
|
||||
|
||||
if(BUILD_INTEGRATION_TESTS)
|
||||
add_executable(unarr-test main.c)
|
||||
target_link_libraries(unarr-test unarr)
|
||||
|
||||
function(run_test file)
|
||||
add_test(NAME ${file} COMMAND unarr-test
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/corpus/${file})
|
||||
set_tests_properties(
|
||||
${file}
|
||||
PROPERTIES ENVIRONMENT
|
||||
"PATH=${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE};$ENV{PATH}")
|
||||
endfunction(run_test file)
|
||||
|
||||
# Rar
|
||||
run_test(integration/lipsum_rar4_store.rar)
|
||||
run_test(integration/lipsum_rar4_default.rar)
|
||||
run_test(integration/lipsum_rar4_max.rar)
|
||||
# Non-standard compression methods
|
||||
run_test(integration/lipsum_rar4_ppmd.rar) # Text
|
||||
run_test(integration/lipsum_rar4_delta.rar)
|
||||
run_test(integration/silent_rar4_audio.rar)
|
||||
# TODO bmp - RGB color (bmp?)
|
||||
|
||||
# Tar
|
||||
run_test(integration/lipsum.tar)
|
||||
|
||||
# Zip
|
||||
run_test(integration/lipsum_zip_copy.zip)
|
||||
run_test(integration/lipsum_zip_default.zip)
|
||||
run_test(integration/lipsum_zip_max.zip)
|
||||
# Non-standard compression methods
|
||||
if(BZIP2_FOUND)
|
||||
run_test(integration/lipsum_zip_bzip2.zip)
|
||||
endif()
|
||||
run_test(integration/lipsum_zip_deflate64.zip)
|
||||
run_test(integration/lipsum_zip_lzma1.zip)
|
||||
run_test(integration/lipsum_zip_ppmd.zip)
|
||||
if(LIBLZMA_FOUND)
|
||||
run_test(integration/lipsum_zip_xz.zip)
|
||||
endif()
|
||||
|
||||
# 7z
|
||||
if(ENABLE_7Z)
|
||||
run_test(integration/lipsum_7z_store.7z)
|
||||
run_test(integration/lipsum_7z_default.7z)
|
||||
run_test(integration/lipsum_7z_max.7z)
|
||||
# Non-standard compression methods
|
||||
run_test(integration/lipsum_7z_lzma1.7z)
|
||||
run_test(integration/lipsum_7z_ppmd.7z)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(BUILD_UNIT_TESTS)
|
||||
find_package(cmocka CONFIG REQUIRED)
|
||||
add_executable(crc32-test crc32-test.c)
|
||||
if(TARGET cmocka::cmocka)
|
||||
target_link_libraries(crc32-test PRIVATE cmocka::cmocka)
|
||||
else()
|
||||
target_include_directories(crc32-test PRIVATE ${CMOCKA_INCLUDE_DIR})
|
||||
target_link_libraries(crc32-test PRIVATE ${CMOCKA_LIBRARY})
|
||||
endif()
|
||||
add_test(crc32 crc32-test)
|
||||
endif()
|
||||
Reference in New Issue
Block a user