diff options
Diffstat (limited to 'test/CMakeLists.txt')
-rw-r--r-- | test/CMakeLists.txt | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 6b79d98..9dab686 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,12 +1,34 @@ project(tests) +set(INPUT_SEARCH + /_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_0123456789_) +set(INPUT_REPLACE + _ctest_replaced_this) +set(INPUT_FN + test_data.bin) +set(OUTPUT_FN + test_data.out) + +configure_file(${INPUT_FN} ${INPUT_FN} COPYONLY) +file(REMOVE ${OUTPUT_FN}) + include_directories("${CMAKE_SOURCE_DIR}") include_directories("${CMAKE_BINARY_DIR}") -add_executable(test_reloc_match test_reloc_match.c) -add_executable(test_reloc_read test_reloc_read.c) -target_link_libraries(test_reloc_match relocate) -target_link_libraries(test_reloc_read relocate) +function(add_reloc_test target) + add_executable(${target} ${ARGN}) + target_link_libraries(${target} relocate) + add_test(${target} ${target}) +endfunction() + +function(add_exec_test target) + add_test(NAME ${target} COMMAND ${ARGN}) +endfunction() + +add_reloc_test(test_reloc_match test_reloc_match.c) +add_reloc_test(test_reloc_read test_reloc_read.c) +add_reloc_test(test_reloc_write test_reloc_write.c) +add_exec_test(test_exec_success reloc "${INPUT_SEARCH}" "${INPUT_REPLACE}" "${INPUT_FN}" "${OUTPUT_FN}") -add_test(test_reloc_match test_reloc_match) -add_test(test_reloc_read test_reloc_read) +# Windows users need grep too. "findstr" and "find" were not reliable here +add_exec_test(test_exec_result grep "${INPUT_REPLACE}" "${OUTPUT_FN}") |