From: Brad King (brad.king_at_[hidden])
Date: 2002-01-11 09:51:53
Nightly testing is an important step toward software quality. The current
boost compiler-status page provides some information, but it does not
appear to be built nightly, nor does it cover all the libraries in boost.
I have been following the boost mailing list for a few years, and have
been impressed with some of the work produced. It seems that rigorous
testing can be a useful contribution. We at Kitware have decided to
provide a testing "Dashboard" for the boost libraries using a testing tool
known as "Dart".
Dart is a free, open-source, distributed testing system designed for use
on single-platform and cross-platform projects. It is currently in use
for several large-software projects in which Kitware and other members of
the open-source community are involved. Dart allows anyone willing to
donate computing time to run a nightly build to test a software project on
his or her platform. There is also support for testing code changes
before they are committed to CVS.
Testing results may be submitted to a Dart server for display on a web
page known as a "dashboard". This dashboard page includes a summary of
all submitted builds with links to more detailed information. It also
provides a page showing files changed in CVS during the last day with
links to the ViewCVS color diffs on sourceforge.
I have been working with Doug Gregor to provide the Jamfile support needed
to test Boost with Dart. Although nightly testing with a cron-job is not
yet in place on more than one platform, we have run many test builds by
hand. The current Dashboard is up at the following address:
There are links at the top of this page to the dashboards for other
projects. They provide good examples of builds and tests on a wide
variety of platforms.
Anyone interested can try submitting a test build to the boost dashborad.
The necessary Jamfiles are provided in a tarball on the boost files page.
The tarball should be extracted into a boost CVS checkout (from the
directory above the root). It will over-write some of the files currently
provided in the CVS checkout (make sure you set permissions to allow
overwrites). Most importantly, allyourbase.jam has been updated with Jam
rules needed to build and run tests with Dart. There is also a readme
file provided in the tarball. It contains more detailed instructions to
submit a test build to the dashboard. You will need to checkout the Dart
source from our CVS repository. The Dart client is implemented in Tcl
(8.0 or higher).
Although Dart has no problem supporting Windows builds, the Jamfiles
provided in the tarball do not currently support it. The Jamfiles are
very young, and have been written merely for showing that the testing can
be done. If there is interest in using this dashboard for boost, I would
like help from Jam experts to create a more robust implementation.
With a nightly testing dashboard in place, developers can keep an eye on
the code in CVS. This will help to keep boost clean and ready to build.
Thanks for your time,
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk