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

Steve Huston shuston at riverace.com
Wed Jun 10 15:23:01 EDT 2009


Hi David,
Thanks for responding.

> OK. You have a correct CTestConfig.cmake now.

Good.

> Is it at the top level of your source tree? (In
{CTEST_SOURCE_DIRECTORY}"?)

I believe so... Here's my directory setup:

+-qpid
  CMakeLists.txt, including...
     enable_testing()
     include (CTest)
     ...
     add_subdirectory(src)
  CTestConfig.cmake
+----build
+-------rhel5
        (this is my binary dir and where I'm cd'd to when running
ctest)
+----src
     CMakeLists.txt
        ...
        add_subdirectory(tests)
+-------tests
        CMakeLists.txt

> Do you "include(CTest)" in your CMakeLists.txt file?

Yes, in the top-level one, as shown above.

-Steve


On Wed, Jun 10, 2009 at 2:02 PM, Steve Huston <shuston at riverace.com>
wrote:

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