[CMake] Scripting of ctest: pb with update stage and CVSCOMMAND
Andy Cedilnik
andy.cedilnik at kitware.com
Wed Jul 12 09:57:35 EDT 2006
Hi Eric,
Also, your CTEST_ENVIRONMENT should be set to:
SET(CTEST_ENVIROMENT
"CVS_RSH=$ENV{HOME}/cvs_rsh_trick")
The export is a SH thing and is not needed (should not be there).
Andy
Eric BOIX wrote:
> 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
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
>
--
Andy Cedilnik
Kitware Inc.
More information about the CMake
mailing list