summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2010-05-27 20:43:28 (GMT)
committerDavid Cole <david.cole@kitware.com>2010-05-27 20:43:28 (GMT)
commit806eaa290ca4fa6a5aa623068974118c889a7c12 (patch)
tree300325a07fbbf339e8d2bcf10ed6efa326d624a1
parent1dd316563a7bd7dc97aeb3f9632f232bf7267e57 (diff)
downloadCMake-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.
-rw-r--r--Tests/CMakeTests/CheckSourceTreeTest.cmake.in31
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()