testcode is a python module for testing for regression errors in numerical (principally scientific) software. Essentially testcode runs a set of calculations, and compares the output data to that generated by a previous calculation (which is regarded to be "correct"). It is designed to be lightweight and highly portable.
testcode can run a set of tests and check the calculated data is within a the desired tolerance of results contained in previous output (using an internal data extraction engine, a user-supplied data extraction program or a user-supplied verification program). The programs to be tested can be run in serial and in parallel and tests can be run in either locally or submitted to a compute cluster running a queueing system such as PBS. Previous tests can be compared and diffed against other tests or benchmarks.
Full documentation can be found in the
docs/ subdirectory and in the
appropriate docstrings. Documentation can be compiled using sphinx.
Documentation can also be viewed at readthedocs.
James Spencer, Imperial College London.
Contributions and suggestions from:
Keith Refson, Science and Technology Facilities Council.
Shawn Chin, Science and Technology Facilities Council.
Modified BSD license; see LICENSE for more details.
testcode_buildbot.py: a custom buildbot BuildStep for running testcode by Shawn Chin.