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
- Update PSI regression tester to GFortran 7.3.0 and libxc 4.2.3 by mkrack (2018/09/30 12:45)
- Adjust tolerance by mkrack (2018/09/30 12:41)
- conventions by rybkinjr (2018/09/28 14:13)
- coding conventions by rybkinjr (2018/09/28 13:33)
- correct previous commit by rybkinjr (2018/09/28 12:45)
- some patches on embedding by rybkinjr (2018/09/28 11:53)
- Adjust tolerance. by oschuett (2018/09/26 09:26)
- KG: towards atomic integration grid by jhutter (2018/09/25 07:02)
- Adjust tolerance. by oschuett (2018/09/24 11:50)
- Adjust tolerance by oschuett (2018/09/24 09:05)