Where are the Polaris regression tests? How are the Polaris regression tests run? How do I add a test to Polaris' regression tests?

Where are the Polaris regression tests and how are they run?

The directory of regression tests is:/home/vanleer/a/polaris/poltests

In this directory there is a script, runtests. For each file in poltests that ends with .f, it will run polaris, then try to compile the file with guidef77 and f95, and run each compiled version on 4 processors. The output of the programs placed in this directory should go to standard out and contain 'PASSED' if they validate. The tests should be self contained and not require other files to be linked.

There are at least 3 examples in the directory: end.f, noname.f, and TFS.f. noname.f is an example that fails in Polaris. TFS.f compiles but fails at runtime when compiled with f95.

The script will identify if Polaris fails, f95 fails, guidef77 fails, or the run does not validate, and send the list of files that fail to the appropriate developers of Polaris.

So the output for the current examples would be:

Thu May 24 18:30:18 EST 2001
------------------------

TFS.f_failed_at_runtime_with_f95
TFS.f_failed_at_runtime_with_f95.out
noname.f_failed_in_polaris

This output is also stored in a file, which is in this case: regressions-2001-May-24

How do I add another test to the regression tests?

If you find bugs, or just have good tests for Polaris, feel free to populate this directory. Also, when you find a bug, try to generate a small test case that can work in this test directory. We can then track bugs as they appear and disappear.

To run a single test you can use the runtest script. To test just noname.f, you'd type:

> runtest noname.f
No match
Abort (core dumped)

This would cause generation of noname.f_failed_in_polaris that holds the output from polaris:

POLARIS: Assertion failed: file String.cc, line 320 :
Assign NULL value through String::operator =