diff options
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/CMakeTests/CMakeLists.txt | 4 | ||||
-rw-r--r-- | Tests/CMakeTests/FileDownloadBadHashTest.cmake.in | 10 | ||||
-rw-r--r-- | Tests/CMakeTests/FileDownloadTest.cmake.in | 13 | ||||
-rw-r--r-- | Tests/RunCMake/CommandLine/E_sleep-bad-arg1-result.txt | 1 | ||||
-rw-r--r-- | Tests/RunCMake/CommandLine/E_sleep-bad-arg1-stderr.txt | 1 | ||||
-rw-r--r-- | Tests/RunCMake/CommandLine/E_sleep-bad-arg2-result.txt | 1 | ||||
-rw-r--r-- | Tests/RunCMake/CommandLine/E_sleep-bad-arg2-stderr.txt | 1 | ||||
-rw-r--r-- | Tests/RunCMake/CommandLine/E_sleep-no-args-result.txt | 1 | ||||
-rw-r--r-- | Tests/RunCMake/CommandLine/E_sleep-no-args-stderr.cmake | 2 | ||||
-rw-r--r-- | Tests/RunCMake/CommandLine/RunCMakeTest.cmake | 5 | ||||
-rw-r--r-- | Tests/RunCMake/Configure/RerunCMake-build1-check.cmake | 9 | ||||
-rw-r--r-- | Tests/RunCMake/Configure/RerunCMake-build2-check.cmake | 9 | ||||
-rw-r--r-- | Tests/RunCMake/Configure/RerunCMake.cmake | 11 | ||||
-rw-r--r-- | Tests/RunCMake/Configure/RerunCMake.txt | 1 | ||||
-rw-r--r-- | Tests/RunCMake/Configure/RunCMakeTest.cmake | 20 |
15 files changed, 89 insertions, 0 deletions
diff --git a/Tests/CMakeTests/CMakeLists.txt b/Tests/CMakeTests/CMakeLists.txt index 41714f6..ce36830 100644 --- a/Tests/CMakeTests/CMakeLists.txt +++ b/Tests/CMakeTests/CMakeLists.txt @@ -38,6 +38,10 @@ AddCMakeTest(FileDownload "") set_property(TEST CMake.FileDownload PROPERTY PASS_REGULAR_EXPRESSION "file already exists with expected MD5 sum" ) +AddCMakeTest(FileDownloadBadHash "") +set_property(TEST CMake.FileDownloadBadHash PROPERTY + WILL_FAIL TRUE + ) AddCMakeTest(FileUpload "") diff --git a/Tests/CMakeTests/FileDownloadBadHashTest.cmake.in b/Tests/CMakeTests/FileDownloadBadHashTest.cmake.in new file mode 100644 index 0000000..4a47c06 --- /dev/null +++ b/Tests/CMakeTests/FileDownloadBadHashTest.cmake.in @@ -0,0 +1,10 @@ +set(url "file://@CMAKE_CURRENT_SOURCE_DIR@/FileDownloadInput.png") +set(dir "@CMAKE_CURRENT_BINARY_DIR@/downloads") + +file(DOWNLOAD + ${url} + ${dir}/file3.png + TIMEOUT 2 + STATUS status + EXPECTED_HASH SHA1=5555555555555555555555555555555555555555 + ) diff --git a/Tests/CMakeTests/FileDownloadTest.cmake.in b/Tests/CMakeTests/FileDownloadTest.cmake.in index 91086c6..83ade2b 100644 --- a/Tests/CMakeTests/FileDownloadTest.cmake.in +++ b/Tests/CMakeTests/FileDownloadTest.cmake.in @@ -94,3 +94,16 @@ file(DOWNLOAD EXPECTED_MD5 d16778650db435bda3a8c3435c3ff5d1 ) message(STATUS "${status}") + +message(STATUS "FileDownload:11") +file(DOWNLOAD + badhostname.png + ${dir}/file11.png + TIMEOUT 2 + STATUS status + ) +message(STATUS "${status}") +list(GET status 0 status_code) +if(NOT ${status_code} EQUAL 6) + message(SEND_ERROR "error: expected status code 6 for bad host name, got: ${status_code}") +endif() diff --git a/Tests/RunCMake/CommandLine/E_sleep-bad-arg1-result.txt b/Tests/RunCMake/CommandLine/E_sleep-bad-arg1-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/CommandLine/E_sleep-bad-arg1-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/CommandLine/E_sleep-bad-arg1-stderr.txt b/Tests/RunCMake/CommandLine/E_sleep-bad-arg1-stderr.txt new file mode 100644 index 0000000..45e6ebc --- /dev/null +++ b/Tests/RunCMake/CommandLine/E_sleep-bad-arg1-stderr.txt @@ -0,0 +1 @@ +^Unknown sleep time format "x"\.$ diff --git a/Tests/RunCMake/CommandLine/E_sleep-bad-arg2-result.txt b/Tests/RunCMake/CommandLine/E_sleep-bad-arg2-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/CommandLine/E_sleep-bad-arg2-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/CommandLine/E_sleep-bad-arg2-stderr.txt b/Tests/RunCMake/CommandLine/E_sleep-bad-arg2-stderr.txt new file mode 100644 index 0000000..399d47f --- /dev/null +++ b/Tests/RunCMake/CommandLine/E_sleep-bad-arg2-stderr.txt @@ -0,0 +1 @@ +^Unknown sleep time format "-1"\.$ diff --git a/Tests/RunCMake/CommandLine/E_sleep-no-args-result.txt b/Tests/RunCMake/CommandLine/E_sleep-no-args-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/CommandLine/E_sleep-no-args-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/CommandLine/E_sleep-no-args-stderr.cmake b/Tests/RunCMake/CommandLine/E_sleep-no-args-stderr.cmake new file mode 100644 index 0000000..977f1ef --- /dev/null +++ b/Tests/RunCMake/CommandLine/E_sleep-no-args-stderr.cmake @@ -0,0 +1,2 @@ +Usage: .*/cmake -E \[command\] \[arguments \.\.\.\] +Available commands: diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake index ee6cd99..ada4cab 100644 --- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake +++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake @@ -23,3 +23,8 @@ if(UNIX) ${CMAKE_COMMAND} -E create_symlink T . ) endif() + +run_cmake_command(E_sleep-no-args ${CMAKE_COMMAND} -E sleep) +run_cmake_command(E_sleep-bad-arg1 ${CMAKE_COMMAND} -E sleep x) +run_cmake_command(E_sleep-bad-arg2 ${CMAKE_COMMAND} -E sleep 1 -1) +run_cmake_command(E_sleep-one-tenth ${CMAKE_COMMAND} -E sleep 0.1) diff --git a/Tests/RunCMake/Configure/RerunCMake-build1-check.cmake b/Tests/RunCMake/Configure/RerunCMake-build1-check.cmake new file mode 100644 index 0000000..dbf8f67 --- /dev/null +++ b/Tests/RunCMake/Configure/RerunCMake-build1-check.cmake @@ -0,0 +1,9 @@ +file(READ ${stamp} content) +if(NOT content STREQUAL 1) + set(RunCMake_TEST_FAILED "Expected stamp '1' but got: '${content}'") +endif() + +file(READ ${output} content) +if(NOT content STREQUAL 1) + set(RunCMake_TEST_FAILED "Expected output '1' but got: '${content}'") +endif() diff --git a/Tests/RunCMake/Configure/RerunCMake-build2-check.cmake b/Tests/RunCMake/Configure/RerunCMake-build2-check.cmake new file mode 100644 index 0000000..a4897e5 --- /dev/null +++ b/Tests/RunCMake/Configure/RerunCMake-build2-check.cmake @@ -0,0 +1,9 @@ +file(READ ${stamp} content) +if(NOT content STREQUAL 2) + set(RunCMake_TEST_FAILED "Expected stamp '2' but got: '${content}'") +endif() + +file(READ ${output} content) +if(NOT content STREQUAL 2) + set(RunCMake_TEST_FAILED "Expected output '2' but got: '${content}'") +endif() diff --git a/Tests/RunCMake/Configure/RerunCMake.cmake b/Tests/RunCMake/Configure/RerunCMake.cmake new file mode 100644 index 0000000..5a561bf --- /dev/null +++ b/Tests/RunCMake/Configure/RerunCMake.cmake @@ -0,0 +1,11 @@ +set(input ${CMAKE_CURRENT_BINARY_DIR}/CustomCMakeInput.txt) +set(stamp ${CMAKE_CURRENT_BINARY_DIR}/CustomCMakeStamp.txt) +file(READ ${input} content) +file(WRITE ${stamp} "${content}") + +set(depend ${CMAKE_CURRENT_BINARY_DIR}/CustomCMakeDepend.txt) +set(output ${CMAKE_CURRENT_BINARY_DIR}/CustomCMakeOutput.txt) +set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${depend}) +file(READ ${depend} content) +file(WRITE ${output} "${content}") +set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS RerunCMake.txt) diff --git a/Tests/RunCMake/Configure/RerunCMake.txt b/Tests/RunCMake/Configure/RerunCMake.txt new file mode 100644 index 0000000..15598c1 --- /dev/null +++ b/Tests/RunCMake/Configure/RerunCMake.txt @@ -0,0 +1 @@ +Source-tree dependency for "RerunCMake.cmake". diff --git a/Tests/RunCMake/Configure/RunCMakeTest.cmake b/Tests/RunCMake/Configure/RunCMakeTest.cmake index 79e4060..5ef0384 100644 --- a/Tests/RunCMake/Configure/RunCMakeTest.cmake +++ b/Tests/RunCMake/Configure/RunCMakeTest.cmake @@ -2,3 +2,23 @@ include(RunCMake) run_cmake(ErrorLogs) run_cmake(FailCopyFileABI) + +# 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(input "${RunCMake_TEST_BINARY_DIR}/CustomCMakeInput.txt") +set(stamp "${RunCMake_TEST_BINARY_DIR}/CustomCMakeStamp.txt") +set(depend "${RunCMake_TEST_BINARY_DIR}/CustomCMakeDepend.txt") +set(output "${RunCMake_TEST_BINARY_DIR}/CustomCMakeOutput.txt") +file(WRITE "${input}" "1") +file(WRITE "${depend}" "1") +run_cmake(RerunCMake) +execute_process(COMMAND ${CMAKE_COMMAND} -E sleep 1) # handle 1s resolution +file(WRITE "${input}" "2") +run_cmake_command(RerunCMake-build1 ${CMAKE_COMMAND} --build .) +file(WRITE "${depend}" "2") +run_cmake_command(RerunCMake-build2 ${CMAKE_COMMAND} --build .) +unset(RunCMake_TEST_BINARY_DIR) +unset(RunCMake_TEST_NO_CLEAN) |