User Tools

Site Tools


dev:regtesting

This is an old revision of the document!


CP2K Regression Testing

Regression Testing Script

CP2K comes with over 2500 test input files (located in cp2k/tests) which serve as both examples on how to use the many features in CP2K and also as a method for developers to test modifications and extensions to CP2K. In order to reduce the chance of bugs being introduced into the code, and ensure that all parts of the code are working, we recommend that all developers complete a successful run of the full regression test suite before committing changes to SVN.

The regression test suite is run using the do_regtest script in cp2k/tools/regtesting. Instructions are included at the top of the script.

In addition, when new features are added to CP2K, please add new tests which cover those features and commit them to SVN along with the code.

Automated Regression Tester

An automated regression test service is available at http://cp2k-www.epcc.ed.ac.uk . This runs the test suite on a range of architectures and versions of CP2K every time a change is made to SVN. If errors are found, the developer responsible for the change will receive and email notifying them of the problem(s) and these should be fixed immediately.

We plan to extend the range of platforms, compilers etc. that are covered by the automated regression tester in future. If you would like to set up automated regression testing on a local machine, or have other ideas about how the test service can be improved, please email Iain Bethune (remove NOSPAM) from address before sending

CP2K Code Coverage

We aim that the regression test suite covers all the functionality of CP2K. Code coverage reports from recent runs of the tests are available at http://www.cp2k.org/static/coverage/ If you see parts of the code which are not well tested, please contribute to improving coverage by writing new tests!

Results of the Automatic Regression Tester

Latest commits

dev/regtesting.1414046875.txt.gz · Last modified: 2020/08/21 10:14 (external edit)