CDash integrates a self-testing framework based on Simple Test. The self testing code is located in the CDash/testing directory.
Submitting a CDash Dashboard to the CDash dashboard
Don't worry, it's not a mistake in the title of this section, self-testing involves submitting a CDash submission to CDash.
Configuring the testing
Here are the steps on how to configure the testing:
- Add a file named CDash/cdash/config.local.php containing:
<?php $CDASH_DB_NAME = 'cdash4simpletest'; $CDASH_TESTING_MODE = true; ?>
The database has to be named exactly 'cdash4simpletest' for the tests to run. Part of the test suite involves destroying the existing database of that name and re-creating it from scratch. Because the testing of CDash drops and creates the database you need to make sure this database is not being use for any other purpose than self testing. Also, make sure that the $CDASH_DB_LOGIN has enough privileges to create/drop databases on your SQL server.
- Add a file named CDash/testing/config.test.local.php containing:
<?php $configure = array( 'urlwebsite' => 'http://localhost/CDashTesting', 'outputdirectory' => 'C:/tmp', 'type' => 'Nightly', 'site' => 'computername.companyname', 'buildname' => 'SVN-Win32-xampp', 'cdash' => 'http://www.cdash.org/CDash', 'svnroot' => 'C:/xampp/htdocs/CDashTesting' ); ?>
- urlwebsite is the URL to access the tested installation of CDash. Since simpletest emulates a web browser you need to make sure that the urlwebsite is accessible locally. That is, you should be able to visit this URL in a web browser on the testing machine and see the main CDash page.
- outputdirectory is a directory where the testing output can be stored on the system. Make sure that the current user can write to that directory.
- type is the type of submission for CDash: Nightly, Continuous or Experimental.
- site is the name of the site submitting to CDash.
- buildname is name of the build
- cdash is the URL to the current dashboard. Note that the project should be named CDash, i.e. http://www.cdash.org/CDash/submit.php?project=CDash
- svnroot is the file system path to your testing installation of CDash. The self testing does an svn update to check what files have changed.
Starting the testing
Then to launch the tests:
cd CDash/testing php5 alltests.php