Testing Metropolis

This page is primarily for Metropolis developers mentioned below are not included in the Metropolis distribution.

Test Suite

Metropolis uses the Ptolemy II test infrastructure, see the Ptolemy II Testing Page for details.

FIXME: this does not work To run all the tests, try:

cd metro
make tests

Nightly Build

Currently, the nightly build is run on gigasource.eecs.berkeley.edu as part of the Gigascale Systems Research Center (GSRC) Buildmaster workgroup.

Basically, a cronjob on gigasource runs a makefile that does a cvs update and then runs make bldmastrcoverage in $METRO/adm/gen-latest.

A summary of the output gets emailed to members of the metropolis-cvs list and the complete output gets copied to http://www.gigascale.org/metropolis/src/metronightly.txt

Adding a test directory to the nightly build

See the Ptolemy II Testing Page for information on how to set up the test directory.

Once the test directory has been committed to CVS, it needs to be added to the nightly build.

The nightly build runs the tests listed in the JSALLDIRS makefile variable in $METRO/adm/gen-latest.

The tests are run in the order listed, which can result in dependency problems if a package requires code at test-time that is not yet compiled.

Usually, it is safest to add a new test directory to the end of the list.

Check in your changes to the makefile and the nightly build will update its copy and run the tests.

Running the nightly build

Unfortunately, that makefiles is rather complex. You are better off avoiding running it by hand, and instead run make tests to try out tests.
However, if you really want to run the nightly build, try:

cd ~/ptII/metropolis/adm/gen-1.0/
make USER=$USER PTIIHOME=$PTII PTIIADM=$PTII/metropolis/adm TAR=/usr/local/bin/tar >& make.out &
Note that the TAR makefile variable must point to a tar that properly handles the -X argument and excludes certain files.