[CMake] CDash questions

David Cole dlrdave at aol.com
Wed Apr 23 07:30:46 EDT 2014


> The way I’m doing this now is the following:
>
> a) I edit the CMakeList.txt file(s) and follow
>       the procedure to create an Xcode IDE project.
>       This project contains a bunch of targets
>       including ALL_BUILD, RUN_TESTS, and
>      Experimental - among others

You should not have to edit the CMakeLists file to create an Xcode IDE
project... The CMakeLists file should be written so that it may be used
with any CMake generator, and then, to create an Xcode project, you
would simply run:

  cd /path/to/build
  cmake -G Xcode /path/to/source


> a) I expect to see a list of all the test runs - or
> at least the the last run from each site.
> ...
> What do I have to do to get a list of all test
> runs from all sites for all dates.

By default, the main CDash page shows only results that have been
submitted since the most recently past nightly start time. To show
other days, you click on previous and next. To show multiple days, you
have to use a filtered view with a "Build Time" field.

Click on "Show Filters"
Use a filter of "Build Time" "is before" "now"
Click "Apply"
Click "Create Hyperlink" to create a link to this filtered view

(Yields something like this:
http://my.cdash.org/index.php?project=Safe+Numerics&filtercount=1&showfilters=1&field1=buildstarttime/date&compare1=84&value1=now
)

You won't want to see *everything* after you have more than a few
hundred submissions to your project's CDash page... it will be too slow
to retrieve and render all the results unless you use a limit.

Use "Build Time" "is after" "2 weeks ago" to see everything from the
last two weeks.


> b) The whole setup is quite confusing.
> I would like to think that if if users of
> this library include the CTestConfig.cmake
> file that I give them
> ...
> They will be able to submit their test
> results in the same way I just did.
> Am I correct in my understanding of this?

Yes, that's correct. They don't have to "include" anything -- you can
just have the CTestConfig file next to the CMakeLists file, and
"include(CTest)" in your CMakeLists file.


> Also I have some other questions which are
> not really related to my specific problem but
> rather to what the purpose of CDash actually is.
>
> a) Is it a system for gathering and recording
>       the results of test runs made from
>       different client configurations
> b) or is it a system for running tests on the
>       actual server hardware
> c) or is it a system for automatically
>       downloading projects to a client machine
>       and running the tests and posting the results.  

Alas, it is "only" "a)" -- none of your code is run on the CDash server.
CDash simply stores, organizes and presents the results you send it
from a
machine that does the building and testing. You can set up a
"CDash at home" client machine... a machine that connects to the cdash
server and requests a job. But then you also have to run something that
schedules builds for these client machines, or ping the server through
a CDash api call to instruct it to farm out a job to a waiting client.


> It seems that it’s all three - but this is not at all
> clear from the documentation.

Do you mean the wiki pages? Or something on cdash.org?


> I sort of conclude this from the information that the
> myCDash server requests regarding how to run the
> tests, where is the code repository, etc.

The code repository info is so CDash can show links to changes (on the
viewUpdates and viewChanges pages) if there's a web viewer for the
repo. It's also used when constructing scripts to send to the
CDash at home clients.


> a) I have a programming library for Safe integegers
>       see http://rrsd.com/blincubator.com/bi_library/safe-numerics/
> b) I want users to be able to download the library, run
>       the tests, check the results, if they want, submit
>       them to the my.cdash server
> c) I want all other users to see these results so we
>       can get an idea of the variety of platforms the
>       tests have been run and where they might
>       have failed.
>
> Am I doing this right? Am I missing anything?

Seems reasoanble to me. You're on the right track... Let us know if you
have further questions.

HTH,
David C.





More information about the CMake mailing list