summaryrefslogtreecommitdiffstats
path: root/Tests
diff options
context:
space:
mode:
authorDavid Cole <david.cole@kitware.com>2009-12-04 19:50:37 (GMT)
committerDavid Cole <david.cole@kitware.com>2009-12-04 19:50:37 (GMT)
commit8d28ce80290b639f34898b4ab62df469fe990ec4 (patch)
tree3e2fa43ae15d09a8a54a2e7b2b72a867a5f36585 /Tests
parent700da5f2660ce4b85aa0ee89cbc01d1d2b6a5f3e (diff)
downloadCMake-8d28ce80290b639f34898b4ab62df469fe990ec4.zip
CMake-8d28ce80290b639f34898b4ab62df469fe990ec4.tar.gz
CMake-8d28ce80290b639f34898b4ab62df469fe990ec4.tar.bz2
Fix cvs password problems during the CMake.CheckSourceTree test. Make sure cvs has access to the original value of the HOME environment variable and not the 'CMake testing' value of it so that any cvs passwords set up on the machine work to get the list of local modifications using 'cvs up'...
Diffstat (limited to 'Tests')
-rw-r--r--Tests/CMakeTests/CMakeLists.txt1
-rw-r--r--Tests/CMakeTests/CheckSourceTreeTest.cmake.in14
2 files changed, 15 insertions, 0 deletions
diff --git a/Tests/CMakeTests/CMakeLists.txt b/Tests/CMakeTests/CMakeLists.txt
index adaf247..6b44417 100644
--- a/Tests/CMakeTests/CMakeLists.txt
+++ b/Tests/CMakeTests/CMakeLists.txt
@@ -50,6 +50,7 @@ if(do_cvs_tests)
"-DCMake_BINARY_DIR:PATH=${CMake_BINARY_DIR}"
"-DCMake_SOURCE_DIR:PATH=${CMake_SOURCE_DIR}"
"-DCVS_EXECUTABLE:STRING=${CVS_EXECUTABLE}"
+ "-DHOME:STRING=$ENV{HOME}"
)
AddCMakeTest(CheckSourceTree "${CheckSourceTree_PreArgs}")
endif(do_cvs_tests)
diff --git a/Tests/CMakeTests/CheckSourceTreeTest.cmake.in b/Tests/CMakeTests/CheckSourceTreeTest.cmake.in
index fab5662..cff5baf 100644
--- a/Tests/CMakeTests/CheckSourceTreeTest.cmake.in
+++ b/Tests/CMakeTests/CheckSourceTreeTest.cmake.in
@@ -6,6 +6,7 @@ message("")
message("CMake_BINARY_DIR='${CMake_BINARY_DIR}'")
message("CMake_SOURCE_DIR='${CMake_SOURCE_DIR}'")
message("CVS_EXECUTABLE='${CVS_EXECUTABLE}'")
+message("HOME='${HOME}'")
message("ENV{DASHBOARD_TEST_FROM_CTEST}='$ENV{DASHBOARD_TEST_FROM_CTEST}'")
message("")
@@ -47,18 +48,31 @@ message("=======================================================================
message("Copy/paste this command to reproduce:")
message("cd \"${CMake_SOURCE_DIR}\" && \"${CVS_EXECUTABLE}\" -q -n up -dP")
message("")
+
+# Use the HOME value passed in to the script for calling cvs so it can find
+# its .cvspass and other file(s)
+#
+set(original_ENV_HOME "$ENV{HOME}")
+set(ENV{HOME} "${HOME}")
+
execute_process(COMMAND ${CVS_EXECUTABLE} -q -n up -dP
WORKING_DIRECTORY ${CMake_SOURCE_DIR}
OUTPUT_VARIABLE ov
ERROR_VARIABLE ev
RESULT_VARIABLE rv)
+set(ENV{HOME} "${original_ENV_HOME}")
+
message("Results of running '${CVS_EXECUTABLE} -q -n up -dP'")
message("rv='${rv}'")
message("ov='${ov}'")
message("ev='${ev}'")
message("")
+if(NOT rv STREQUAL 0)
+ message(FATAL_ERROR "error: 'cvs -q -n up -dP' attempt failed... (see output above)")
+endif()
+
# Analyze cvs output:
#
set(additions 0)