The S/PHI/nX testbed¶
The S/PHI/nX testbed allows to check for basic functionality of the compiled programs after building. It can be found in the sphinx/testbed folder. Running the testbed requires GNU make, which is the default make on most Unix systems.
cd sphinx/testbed ./setup ./configure --with-sxdir=BUILD/PATH/TO/BE/CHECKED
The configure line can be omitted if the build to be checked is ../src (standard S/PHI/nX user build). When debug and release mode have been compiled, typical choices for BUILD/PATH/TO/BE/CHECKED will be ../debug or ../release .
Running the testbed¶
The testbed can be run with
make level1 level2
On multi-processor machines, parallel make ( make -j N ) is possible; where N is the number of processors. Level 1 checks are typically quick to run. Level 2 checks may be slow, in particular by the debug mode. The two levels can be run independently.
It is also possible to run individual tests via
make -C TO_BE_TESTED run
Reports are generated as a set of html pages in the report/ folder via
Parallel make is not possible.
The report can then be viewed with your favorite web browser, e.g.
Individual test reports are generated via
make -C TO_BE_TESTED report
The test report will be attached to the end of the report/index.html file. Note that for technical reasons, graphs from previous test failures will be included in the new report if the report/ folder has not been cleaned.
If some tests fail, this need not mean that the code is broken. We have not spent particular efforts in developing a reliable test metrics. Typically, one should look at the detailed analysis. Differences in the number of steps and small differences in energy may result from hard-ware and compilation-dependent numerical noise. Dramatic deterioration of the convergence behavior, however, is a strong hint for a serious problem.
Some tests fail also if the necessary utility programs are not in the search path (e.g. perl, ncdump, etc.).
If in doubt, contact the SPHInX developers
The testbed can be cleaned with
Individual tests can be cleaned via
make -C TO_BE_TESTED clean
This does not clean the corresponding report.