testcode
========

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.

Documentation
-------------

Full documentation can be found in the ``docs/`` subdirectory and in the
appropriate docstrings.  Documentation can be compiled using `sphinx
<http://sphinx.pocoo.org/>`_.

Documentation can also be viewed at `readthedocs
<http://testcode.readthedocs.org>`_.

Author
------

James Spencer, Imperial College London.

Contributions and suggestions from:

Keith Refson, Science and Technology Facilities Council.

Shawn Chin, Science and Technology Facilities Council.

LICENSE
-------

Modified BSD license; see LICENSE for more details.

See also
--------

`testcode_buildbot.py <https://gist.github.com/shawnchin/5678957>`_: a custom buildbot BuildStep for running testcode by Shawn Chin.
