summaryrefslogtreecommitdiff
path: root/Tests
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2010-05-27 16:43:28 -0400
committerDavid Cole <david.cole@kitware.com>2010-05-27 16:43:28 -0400
commit806eaa290ca4fa6a5aa623068974118c889a7c12 (patch)
tree300325a07fbbf339e8d2bcf10ed6efa326d624a1 /Tests
parent1dd316563a7bd7dc97aeb3f9632f232bf7267e57 (diff)
downloadcmake-806eaa290ca4fa6a5aa623068974118c889a7c12.tar.gz
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.in31
1 files changed, 27 insertions, 4 deletions
diff --git a/Tests/CMakeTests/CheckSourceTreeTest.cmake.in b/Tests/CMakeTests/CheckSourceTreeTest.cmake.in
index 82207e4089..1e99b9935d 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()