Boost logo

Boost :

From: Douglas Gregor (gregod_at_[hidden])
Date: 2002-01-11 14:51:32


On Friday 11 January 2002 02:12 pm, you wrote:
> My major requirements are:
>
> 1. Users and developers should be able run all the tests and get readable
> output without installing an additional tool (Tcl, Dart...) on their
> systems.

This hints at having separate backends for regression test output: one that
is directly human-readable (as is done by status/Jamfile) and one that is in
a format that is accepted by the Dart server. Why not do regression testing
in the same manner? Then we might have the following targets:

# Perform a Dart nightly regression test and submit
jam nightly-regression-test

# Perform a Dart experimental test
jam experimental-regression-test

# Submit a Dart experimental test
jam experimental-regression-test

# Perform a local regression test, status/Jamfile-style
jam regression-test

The regression-test target would do what status/Jamfile does, so a developer
could get a quick snapshot of what his/her changes have affected. This would,
of course, not require Tcl or Dart, because they are unused.

The other three targets are for Dart testing and, of course, they'll require
Tcl and Dart. These will likely only be used by those who are using the
nightly submission features on a server.

Is your objection against having to download/install Tcl and Dart an object
because users shouldn't have to do it, developers shouldn't have to do it, or
nobody should have to do it?

> 2. The testing system should only rebuild the things whose dependencies
> have changed

Jam is always used for the dependency tracking, so this will be satisfied.

> 3. There should be no duplication of user-written test descriptions

There won't be. The dart-*-test rules are intentionally very similar to the
rules used in status/Jamfile, and so we could just have rules, e.g., run-test
or compile-fail-test, that dispatch to either the Dart version or the
status/Jamfile version depending on the top-level target.

        Doug


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk