The test suite is run using the script "runtest". This program will run the test cases, save the output images into test/current, difference them with test/baseline images and output the difference images into test/diff. It will create a log file ("log") and a web page (test/html). When given the "-p" option, it will also send the results to the publicly accessible page: http://hyper.llnl.gov/~visit or http://hyper.llnl.gov/visit (which links to the first) Web page: It color codes tests by green for no error, yellow for small errors, and red for major differences. It also recognizes when test cases crash VisIt and reports it with a huge red bar. :) It shows a thumbnail of the image from the test case in the web page with a link to the original, and it will also display the baseline and difference images for test cases which fail. Type "runtest -help" for the full list of options. Known "issues": 1) It only works on sunspot/sunburn for now. 2) The images it is using are uncompressed tiff's. 3) It will require a working -nowin mode to never reporting false alarms. It is too sensitive since it is using screen capture. 4) The threshold for "small error" may have to be tuned. Adding new tests: To add a test case, simply create a new .py file in test/tests. When you have images to use for the baseline for your test case (e.g. the ones in test/current) simply add them to the test/baseline directory. There are only two important things to know when creating a new test case: First, add a call to Test("my_test_01") for each image you wish to compare. Second, call Exit() at the end of the test case -- if you don't, the script will assume your test crashed VisIt. To make debugging a new test case easier, add the "-v" (-verbose) flag to the runtest script, and it should drop you into python at the point of the error. (It will also do it without the -v flag, but stderr is piped to /dev/null.) Finally, make sure you tag the test in a comment block with a space separated list of CLASSES and MODES the test supports. See runtest for a further explanation. There is a test/data directory to store data files which are not going to be generated in the root vob/data directory. There are none yet. At the moment, there are some simple test scripts which execute about 20 individual test cases total, covering most plots and operators in some form. This is not meant to be a complete test suite, but some infrastructure and a simple set covering some major bases. Please add more as you see fit, and any other suggestions are welcome. There will shortly be a cron job to rebuild the bugline and run the test nightly, emailing offending users when something breaks. -- Jeremy Meredith, April 18, 2002