From 8d28ce80290b639f34898b4ab62df469fe990ec4 Mon Sep 17 00:00:00 2001 From: David Cole Date: Fri, 4 Dec 2009 14:50:37 -0500 Subject: 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'... --- Tests/CMakeTests/CMakeLists.txt | 1 + Tests/CMakeTests/CheckSourceTreeTest.cmake.in | 14 ++++++++++++++ 2 files changed, 15 insertions(+) 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) -- cgit v0.12