diff options
author | David Cole <david.cole@kitware.com> | 2010-05-27 20:43:28 (GMT) |
---|---|---|
committer | David Cole <david.cole@kitware.com> | 2010-05-27 20:43:28 (GMT) |
commit | 806eaa290ca4fa6a5aa623068974118c889a7c12 (patch) | |
tree | 300325a07fbbf339e8d2bcf10ed6efa326d624a1 /Tests | |
parent | 1dd316563a7bd7dc97aeb3f9632f232bf7267e57 (diff) | |
download | CMake-806eaa290ca4fa6a5aa623068974118c889a7c12.zip CMake-806eaa290ca4fa6a5aa623068974118c889a7c12.tar.gz CMake-806eaa290ca4fa6a5aa623068974118c889a7c12.tar.bz2 |
Further refinements to the CheckSourceTree test.
Echo results of calling git status before exiting with
an error. Add one special case so that the test may pass
on the dashmacmini2 continuous dashboard, despite a 'git
status' non-zero return code. More logic like this may
be required. I will re-evaluate based on tomorrow's
nightly dashboard runs.
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/CMakeTests/CheckSourceTreeTest.cmake.in | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/Tests/CMakeTests/CheckSourceTreeTest.cmake.in b/Tests/CMakeTests/CheckSourceTreeTest.cmake.in index 82207e4..1e99b99 100644 --- a/Tests/CMakeTests/CheckSourceTreeTest.cmake.in +++ b/Tests/CMakeTests/CheckSourceTreeTest.cmake.in @@ -99,6 +99,15 @@ if(is_cvs_checkout AND CVS_EXECUTABLE) message("This is a cvs checkout, using cvs to verify source tree....") message("") + execute_process(COMMAND ${CVS_EXECUTABLE} --version + WORKING_DIRECTORY ${CMake_SOURCE_DIR} + OUTPUT_VARIABLE version_output + OUTPUT_STRIP_TRAILING_WHITESPACE) + message("=== output of 'cvs --version' ===") + message("${version_output}") + message("=== end output ===") + message("") + file(READ "${CMake_SOURCE_DIR}/CVS/Root" contents) message("=== content of CVS/Root ===") message("${contents}") @@ -127,6 +136,15 @@ if(is_git_checkout AND GIT_EXECUTABLE) message("This is a git checkout, using git to verify source tree....") message("") + execute_process(COMMAND ${GIT_EXECUTABLE} --version + WORKING_DIRECTORY ${CMake_SOURCE_DIR} + OUTPUT_VARIABLE version_output + OUTPUT_STRIP_TRAILING_WHITESPACE) + message("=== output of 'git --version' ===") + message("${version_output}") + message("=== end output ===") + message("") + execute_process(COMMAND ${GIT_EXECUTABLE} branch -a WORKING_DIRECTORY ${CMake_SOURCE_DIR} OUTPUT_VARIABLE git_branch_output @@ -159,15 +177,20 @@ if(cmd) set(ENV{HOME} "${original_ENV_HOME}") - if(NOT rv STREQUAL 0) - message(FATAL_ERROR "error: ${cmd} attempt failed... (see output above)") - endif() - message("Results of running ${cmd}") message("rv='${rv}'") message("ov='${ov}'") message("ev='${ev}'") message("") + + if(NOT rv STREQUAL 0) + if(is_git_checkout AND (rv STREQUAL "1") AND ("${version_output}" STREQUAL "git version 1.5.5")) + # git 1.5.5 returns "1" from a "nothing is changed" git status call... + # (perhaps broader logic is required here... we'll see on tomorrow's dashboard...) + else() + message(FATAL_ERROR "error: ${cmd} attempt failed... (see output above)") + endif() + endif() else() message(FATAL_ERROR "error: no COMMAND to run to analyze source tree...") endif() |