Dear ctest (and cmake) users, I have set up a ctest script in the way illustrated by the "CTest Scripting" section of cmake's wiki i.e. http://www.cmake.org/Wiki/CMake_Scripting_Of_CTest (in order to automatize submissions to Dart2).
Because I'm "subverting" an account for dart continuous builds I need to authenticate my cvs updates through a "ssh -i $HOME/.ssh/my-cheat-key" context (see the "ubertrick" described by the page http://www.liniac.upenn.edu/sysadmin/security/cvs-ssh.html for details). Anyhow, my CTest script contains a line that goes like SET( CTEST_ENVIRONMENT "export CVS_RSH=$ENV{HOME}/cvs_rsh_trick" ) and I tested my ssh-keys manually and everything looks fine. But, now when I launch my ctest script (with the "-VV -debug" options), I get the following Update stage: [...] Run ctest command: /home/eboix/local/bin/ctest -D Continuous Site: ble.ens-lyon.fr Build name: Debian-GCC_3.2.5-Batch-MMA-Docs Create new tag: 20060705-1247 - Continuous Start processing tests Updating the repository Updating the repository: /home/eboix/DashboardDiet/cvs/GRAAL/devel/diet/diet Use CVS repository type Gathering version information (each . represents one updated file): Project is up-to-date !!!! Update with command: "/usr/bin/cvs" -z3 update -d -A -P failed Error(s) when updating the project Output: [...] Apparently, there is a first "cvs update" since there is the output "Project is up-to-date", but then a second cvs seems to be triggered !? My first question is: what triggers the SECOND "cvs update" command ? [i.e. what triggers the line that I prefixed with "!!!!" in the above log ?] My second question goes: what are the connexions between the CVSCOMMAND cmake's internal variable and ctest's scripting variable CTEST_CVS_COMMAND. Are these two variables linked or redundant ? Thanks for any help or clue, Yours, Eric Boix. ----------------- Deep down under the hood gory details: Context: ctest version 2.4-patch 2 One should notice that this "second pass" of cvs update is NOT triggered if I launch ctest manually: from the build directory when I launch ctest -D ExperimentalUpdate I get the following clean output Start processing tests Updating the repository Updating the repository: /home/eboix/DashboardDiet/cvs/GRAAL/devel/diet/diet Use CVS repository type Gathering version information (each . represents one updated file): Project is up-to-date In order to understand what was happening, I went chasing down the "/usr/bin/cvs" string. It seems that the "Update with command" comes from from the BuildRep/DartConfiguration.tcl script, which has a section that goes: # Generic update command UpdateCommand: /usr/bin/cvs UpdateOptions: -d -A -P UpdateType: cvs where the UpdateCommand corresponds to the CVSCOMMAND internal variable. Since I was suspecting some trouble with the CVS_RSH environment variable I tried to alter my original ctest script with an additional CACHE COMMAND i.e. something that goes: SET( CTEST_INITIAL_CACHE " CVSCOMMAND:STRING=export CVS_RSH=$ENV{HOME}/cvs_rsh_trick && /usr/bin/cvs ) and indeed what I nicknamed the "second invocation" changes and I get the following output: Updating the repository Updating the repository: /home/eboix/DashboardDiet/cvs/GRAAL/devel/diet/diet Use CVS repository type !!!! No such file or directory Gathering version information (each . represents one updated file): Project is up-to-date Update with command: "export CVS_RSH=/home/eboix/DashboardDiet/cvs_rsh_dart && /usr/bin/cvs )" -z3 update -d -A -P failed I really wonder what related CVSCOMMAND cmake's internal variable and CTEST_CVS_COMMAND ctest's scripting variable. Hummmmm... Hey, thanks for reading all the above :-) _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
