From 806eaa290ca4fa6a5aa623068974118c889a7c12 Mon Sep 17 00:00:00 2001 From: David Cole Date: Thu, 27 May 2010 16:43:28 -0400 Subject: [PATCH] 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. --- Tests/CMakeTests/CheckSourceTreeTest.cmake.in | 31 ++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/Tests/CMakeTests/CheckSourceTreeTest.cmake.in b/Tests/CMakeTests/CheckSourceTreeTest.cmake.in index 82207e408..1e99b9935 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()