mirror of
https://github.com/reactos/CMake.git
synced 2025-01-07 11:40:23 +00:00
024e25e485
Move the test cases from Tests/CMakeTests/ConfigureFileTest.cmake.in over to use the RunCMake.configure_file infrastructure. This does much more robust verification of CMake output for each test case, and would have caught the regression fixed in our parent commit.
52 lines
1.8 KiB
CMake
52 lines
1.8 KiB
CMake
include(RunCMake)
|
|
|
|
run_cmake(NO-BOM)
|
|
run_cmake(UTF8-BOM)
|
|
run_cmake(UTF16LE-BOM)
|
|
run_cmake(UTF16BE-BOM)
|
|
run_cmake(UTF32LE-BOM)
|
|
run_cmake(UTF32BE-BOM)
|
|
run_cmake(UnknownArg)
|
|
run_cmake(DirInput)
|
|
run_cmake(DirOutput)
|
|
run_cmake(Relative)
|
|
run_cmake(BadArg)
|
|
run_cmake(NewLineStyle-NoArg)
|
|
run_cmake(NewLineStyle-WrongArg)
|
|
run_cmake(NewLineStyle-ValidArg)
|
|
run_cmake(NewLineStyle-COPYONLY)
|
|
|
|
if(RunCMake_GENERATOR MATCHES "Make")
|
|
# Use a single build tree for a few tests without cleaning.
|
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/RerunCMake-build)
|
|
set(RunCMake_TEST_NO_CLEAN 1)
|
|
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
|
|
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
|
|
set(in_conf "${RunCMake_TEST_BINARY_DIR}/ConfigureFileInput.txt.in")
|
|
file(WRITE "${in_conf}" "1")
|
|
|
|
message(STATUS "RerunCMake: first configuration...")
|
|
run_cmake(RerunCMake)
|
|
run_cmake_command(RerunCMake-nowork ${CMAKE_COMMAND} --build .)
|
|
|
|
execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution
|
|
message(STATUS "RerunCMake: touch configure_file input...")
|
|
file(WRITE "${in_conf}" "1")
|
|
run_cmake_command(RerunCMake-rerun ${CMAKE_COMMAND} --build .)
|
|
run_cmake_command(RerunCMake-nowork ${CMAKE_COMMAND} --build .)
|
|
|
|
execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution
|
|
message(STATUS "RerunCMake: modify configure_file input...")
|
|
file(WRITE "${in_conf}" "2")
|
|
run_cmake_command(RerunCMake-rerun ${CMAKE_COMMAND} --build .)
|
|
run_cmake_command(RerunCMake-nowork ${CMAKE_COMMAND} --build .)
|
|
|
|
message(STATUS "RerunCMake: remove configure_file output...")
|
|
file(REMOVE "${RunCMake_TEST_BINARY_DIR}/ConfigureFileOutput.txt")
|
|
run_cmake_command(RerunCMake-rerun ${CMAKE_COMMAND} --build .)
|
|
run_cmake_command(RerunCMake-nowork ${CMAKE_COMMAND} --build .)
|
|
|
|
unset(RunCMake_TEST_BINARY_DIR)
|
|
unset(RunCMake_TEST_NO_CLEAN)
|
|
endif()
|