Test Examples

A test suite is provided for validating your ChemShell installation in YOUR_CHEMSH_DIR/tests.

To run the test suite, use the test script:

./test

The test driver will then execute each of the ChemShell tests in turn, followed by a summary of the results. The summary is also saved to the file validate.log.

As well as pass or fail, tests may return as unsupported (e.g. if an external code is not available on your machine), or unknown if no result could be found. Failures and unknown results are not expected and should be investigated before proceeding to use ChemShell for production calculations.

By default the test suite will be run using the chemsh script, but execution directly via Python can also be tested with, e.g.:

./test --exe python3

The test set can also be used as a reference set of example inputs to base your own calculations on. However please note the calculations are designed primarily to test the code and so may be deliberately unrealistic in some cases.

Test driver options

All of the optional arguments that can be supplied to the chemsh script can also be given to the test driver. For example, to run the test suite with a parallel build of ChemShell using 4 MPI processes:

./test --exe chemsh -np 4

On HPC platforms, the tests can be submitted to the queueing system in the usual way:

./test --exe chemsh --submit [job options]

Note in this case the test results will be given in the output file of the submitted job.

Subsets of the test suite can also be run by giving a list of directory names. For example, to run the NWChem tests in tests/nwchem/ and tests/qmmm/nwchem-gulp run:

./test --sets nwchem nwchem-gulp

Any tests in subdirectories will also be run. So, for example:

./test --sets qmmm

will run all the tests in tests/qmmm/ including all subdirectories.