[CMake] Trouble starting ctest run with intention of reportingto dashboard

Steve Huston shuston at riverace.com
Wed Jun 10 14:02:06 EDT 2009


Hi folks,

I've tried a few more things and am at a loss at this point.

First, I ran this under strace on Linux to see what ctest was really
doing. For defaults on the config file, when ctest reports:

Cannot find file:
/qpidbuilds/trunk/qpid/cpp/rhel5/DartConfiguration.tcl

it is actually looking for either of these:

./CTestConfiguration.ini
./DartConfiguration.tcl

Once I knew that, I used the --ctest-config option to point ctest to
the actual file. It appeared to read the file:

access("../../CTestConfig.cmake", R_OK) = 0
open("../../CTestConfig.cmake", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0744, st_size=541, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xfffffffff7f54000
read(3, "## This file should be placed in"..., 8192) = 541
read(3, "", 4096)                       = 0
read(3, "", 8192)                       = 0
close(3)                                = 0

But still reported the same problem that there's no nightly start time
found.
The config file I downloaded from my cdash install is:

## This file should be placed in the root directory of your project.
## Then modify the CMakeLists.txt file in the root directory of your
## project to incorporate the testing dashboard.
## # The following are required to uses Dart and the Cdash dashboard
##   ENABLE_TESTING()
##   INCLUDE(CTest)
set(CTEST_PROJECT_NAME "Qpid")
set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")

set(CTEST_DROP_METHOD "http")
set(CTEST_DROP_SITE "www.riverace.com")
set(CTEST_DROP_LOCATION "/CDash-1.4.2/submit.php?project=Qpid")
set(CTEST_DROP_SITE_CDASH TRUE)

Any clues on what needs to be set?

Thanks,
-Steve

> -----Original Message-----
> From: cmake-bounces at cmake.org 
> [mailto:cmake-bounces at cmake.org] On Behalf Of Steve Huston
> Sent: Thursday, June 04, 2009 1:27 PM
> To: 'David Cole'
> Cc: cmake at cmake.org
> Subject: Re: [CMake] Trouble starting ctest run with 
> intention of reportingto dashboard
> 
> 
> Thanks for the quick assistance, David. No joy though...
> 
> > After setting up the project on the CDash server, the project
> > administrator should be able to download the CTestConfig.cmake
> > from CDash to put in the source tree.
> 
> Ah, ok. I did this. I don't remember reading a direction like this
> while setting up the project, but may have missed it.
> 
> > Your CTestConfig.cmake does not have the proper variable
definitions
> > in it to work with CDash... for example, this is a snippet from
> > CTestConfig.cmake in the CMake source tree:
> > ...
> > All of the variables begin with CTEST_....
> 
> Ah-ha... The example CTestConfig.cmake in "Mastering Cmake" pg 195
> don't have the CTEST_ prefixes either.
> 
> > CDash should generate the proper CTestConfig.cmake for you after
the
> > project has been set up.
> 
> Ok, I did this. The file generated is:
> 
> ## This file should be placed in the root directory of your project.
> ## Then modify the CMakeLists.txt file in the root directory of your
> ## project to incorporate the testing dashboard.
> ## # The following are required to uses Dart and the Cdash dashboard
> ##   ENABLE_TESTING()
> ##   INCLUDE(CTest)
> set(CTEST_PROJECT_NAME "Qpid%20C++")
> set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
> 
> set(CTEST_DROP_METHOD "http")
> set(CTEST_DROP_SITE "www.riverace.com")
> set(CTEST_DROP_LOCATION
> "/CDash-1.4.2/submit.php?project=Qpid%2520C%2B%2B")
> set(CTEST_DROP_SITE_CDASH TRUE)
> 
> I put this in the top-level source directory and retried. This time
> with -VV:
> 
> [shuston at smokey cpp]$ ctest -VV -S ~/trunk_nightly.cmake
> * Extra verbosity turned on
> Reading Script: /home/shuston/trunk_nightly.cmake
> Run ctest command:
> "/home/shuston/Desktop/cmake-2.6.2-Linux-i386/bin/ctest" -D Nightly
> Cannot find file:
> /qpidbuilds/trunk/qpid/cpp/rhel5/DartConfiguration.tcl
>    Site: 
>    Build name: 
> WARNING: No nightly start time found please set in CTestConfig.cmake
> or DartConfig.cmake
> Problem initializing the dashboard.
> Unable to run ctest:
> Cannot find file:
> /qpidbuilds/trunk/qpid/cpp/rhel5/DartConfiguration.tcl
>    Site: 
>    Build name: 
> WARNING: No nightly start time found please set in CTestConfig.cmake
> or DartConfig.cmake
> Problem initializing the dashboard.
> 
> 
> I'm not sure it's even seeing the CTestConfig.cmake file - after the
> run above, I added a junk line to the top of the file and re-ran
> ctest... No change in output. I was thinking it should complain
about
> the junk in the file.
> 
> What do you think?
> 
> Thanks,
> -Steve
> 
> 
> On Thu, Jun 4, 2009 at 12:26 PM, Steve Huston <shuston at riverace.com>
> wrote:
> 
> Still have problems...
> 
> On Linux, I cd to my main source dir...
> 
> [shuston at smokey cpp]$ ctest -S ~/trunk_nightly.cmake
> 
> Unable to run ctest:
> Cannot find file:
> 
> /qpidbuilds/trunk/qpid/cpp/rhel5/DartConfiguration.tcl
> 
>   Site:
>   Build name:
> WARNING: No nightly start time found please set in CTestConfig.cmake
> or DartConfig.cmake
> Problem initializing the dashboard.
> 
> 
> 
> My CTestConfig.cmake is in the same directory I ran ctest from. It
> contains:
> 
> [shuston at smokey cpp]$ cat CTestConfig.cmake
> # Submit build to riverace.com's CDash dashboard.
> SET(DROP_METHOD "http")
> SET(DROP_SITE "www.riverace.com")
> SET(DROP_LOCATION "CDash-1.4.2/submit.php?project=Qpid%20C++")
> 
> set (NIGHTLY_START_TIME "00:00:00 EDT")
> 
> 
> 
> My script (trunk_nightly.cmake) has:
> 
> [shuston at smokey cpp]$ more ~/trunk_nightly.cmake
> # CMake/CTest script to run the daily/nightly build against trunk
> 
> set (CTEST_SOURCE_DIRECTORY /qpidbuilds/trunk/qpid/cpp)
> set (CTEST_BINARY_DIRECTORY /qpidbuilds/trunk/qpid/cpp/rhel5)
> set (CTEST_COMMAND "\"${CTEST_EXECUTABLE_NAME}\" -D Nightly")
> set (CTEST_MAKE_COMMAND "\"${CMAKE_EXECUTABLE_NAME}\"")
> 
> # Wipe the build dir to ensure a clean build
> set (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
> 
> # Set up initial cache entries to get started
> set (CTEST_INITIAL_CACHE "
> 
> ... A bunch of settings that do end up in the cache file in a clean
> dir
> ")
> 
> find_program(CTEST_SVN_COMMAND NAMES svn)
> 
> set (CTEST_CVS_COMMAND "${CTEST_SVN_COMMAND}")
> set (CTEST_EXTRA_UPDATES_1 "C:/ace/exported/qpid/trunk/qpid/specs")
> set (CTEST_EXTRA_UPDATES_2
"C:/ace/exported/qpid/trunk/qpid/gentools")
> 
> set (CTEST_ENVIRONMENT
> "LD_LIBRARY_PATH=${CTEST_BINARY_DIRECTORY}/src:/usr/lib}")
> 
> set (NIGHTLY_START_TIME "00:00:00 EDT")
> 
> --
> Steve Huston, Riverace Corporation
> shuston at riverace.com
> 
> 
> -----Original Message-----
> From: David Cole [mailto:david.cole at kitware.com]
> Sent: Thursday, June 04, 2009 11:11 AM
> To: Tyler Roscoe
> Cc: Steve Huston; cmake at cmake.org
> Subject: Re: [CMake] Trouble starting ctest run with intention of
> reporting to dashboard
> 
> 
> - Download the CTestConfig.cmake from CDash
> - Place it at the top of your source tree (next to your main
> CMakeLists.txt)
> - No need for the --ctest-config on the ctest command line
> 
> 
> 
> Arrange it like that, and let us know if you still have problems.
> 
> 
> 
> 
> HTH,
> David
> 
> 
> 
> 
> On Thu, Jun 4, 2009 at 11:03 AM, Tyler Roscoe <tyler at cryptio.net>
> wrote:
> 
> On Wed, Jun 03, 2009 at 07:21:33PM -0400, Steve Huston wrote:
> > C:\ace\exported\qpid> ctest -S trunk_nightly.cmake --ctest-config
> > trunk\qpid\cpp\CTestConfig.cmake
> > Unable to run ctest:
> > Cannot find file:
> > C:/ace/exported/qpid/trunk/qpid/cpp/build/DartConfiguration.tcl
> >    Site:
> >    Build name:
> > WARNING: No nightly start time found please set in
CTestConfig.cmake
> > or DartConfig.cmake
> > Problem initializing the dashboard.
> >
> > It doesn't seem to see my CTestConfig.cmake file - it has a
> > NIGHTLY_START_TIME in it.
> 
> 
> ctest might expect to find CTestConfig.cmake relative to your
current
> binary directory rather than relative to your working directory.
Maybe
> try fixing up your --ctest-config path or using an absolute path to
> your
> CTestConfig?
> 
> 
> > And what's DartConfiguration.tcl? It wasn't mentioned in the
> > "Mastering Cmake" book, and I'm trying to use cdash, not dart.
> 
> 
> Dart is the ancestor of CDash. CMake still writes out a
> DartConfiguration.tcl in every binary directory where include(CTest)
> has
> been run.
> 
> So actually, make sure you are doing include(CTest) in your
> CMakeLists.
> Maybe this will fix your first problem as well?
> 
> tyler
> 
> _______________________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> 
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
> 
> _______________________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at 
> http://www.kitware.com/opensource/opensource.html
> 
> Please keep messages on-topic and check the CMake FAQ at: 
> http://www.cmake.org/Wiki/CMake_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
> 



More information about the CMake mailing list