dev:regtesting
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
dev:regtesting [2015/09/01 07:59] – [Dashboard] vondele | dev:regtesting [2019/01/13 11:30] – oschuett | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== CP2K Regression Testing ====== | ====== CP2K Regression Testing ====== | ||
- | CP2K comes with over 2500 test input files (located in [[src>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 : | + | CP2K comes with over 3000 test input files (located in [[src> |
- | * all developers complete a regression test before committing any changes to SVN. | + | |
- | * all users complete a test before using a self-compiled binary for their projects | + | |
==== Dashboard ==== | ==== Dashboard ==== | ||
Line 13: | Line 11: | ||
===== How does it work? ===== | ===== How does it work? ===== | ||
- | The regression test suite is run using the [[src>cp2k/tools/ | + | The regression test suite is run using the [[src> |
It performs the following tasks: | It performs the following tasks: | ||
- | * update to the current SVN version (including new tests) | ||
* performs a realclean build of the source | * performs a realclean build of the source | ||
* executes a list of tests | * executes a list of tests | ||
Line 23: | Line 20: | ||
===== Running the regtests ===== | ===== Running the regtests ===== | ||
+ | |||
+ | ==== Step 0: make based testing ==== | ||
+ | |||
+ | * If you are able to build and run cp2k on the local machine the easiest way is to start the regtesting by running '' | ||
+ | * Be careful about the value of '' | ||
+ | * If this fails (e.g. on batch systems), continue with Step 1 else go to interpretation. | ||
==== Step 1: Preparation ==== | ==== Step 1: Preparation ==== | ||
- | * You must be able to build and run cp2k on the given machine, the rest should be ' | ||
* Decide on a directory for doing the regtest, there will be plenty of files in this dir (after a while) so make it something like '' | * Decide on a directory for doing the regtest, there will be plenty of files in this dir (after a while) so make it something like '' | ||
- | * Checkout | + | * Clone a version of cp2k into '' |
* Set up the arch files so that you can cleanly build cp2k (test this) | * Set up the arch files so that you can cleanly build cp2k (test this) | ||
==== Step 2: Running ==== | ==== Step 2: Running ==== | ||
< | < | ||
- | $ cp2k/tools/ | + | $ tools/ |
Usage: do_regtest [OPTION] | Usage: do_regtest [OPTION] | ||
Run the CP2K regression test suite | Run the CP2K regression test suite | ||
Line 41: | Line 43: | ||
-c, -config FILE read any of the following configuration switches from FILE. | -c, -config FILE read any of the following configuration switches from FILE. | ||
-cp2kdir PATH | -cp2kdir PATH | ||
- | + | | |
- | Svn: | + | -mpiexec EXE name of the executable to run mpi-ranks. Default: |
- | | + | |
- | -nosvn do not run svn update. Default: off. | + | |
- | | + | |
Build: | Build: | ||
Line 56: | Line 55: | ||
-mpiranks NRANKS | -mpiranks NRANKS | ||
-ompthreads NTHREADS | -ompthreads NTHREADS | ||
- | -maxtasks NPROCS | + | -maxtasks NPROCS |
+ | | ||
-jobmaxtime SECONDS | -jobmaxtime SECONDS | ||
+ | -farming | ||
Testing: | Testing: | ||
-noreset | -noreset | ||
- | -skiptest | + | |
+ | | ||
+ | -skipunittest | ||
-skipdir TESTDIR | -skipdir TESTDIR | ||
-restrictdir TESTDIR | -restrictdir TESTDIR | ||
Line 68: | Line 71: | ||
Exit codes: | Exit codes: | ||
0 clean exit with testing | 0 clean exit with testing | ||
- | 1 | ||
3 | 3 | ||
4 build errors | 4 build errors | ||
Line 75: | Line 77: | ||
7 | 7 | ||
8 | 8 | ||
- | 100 no svn changes since last run - clean exit without testing | ||
For more information visit: < | For more information visit: < | ||
Line 93: | Line 94: | ||
===== Adding and Resetting Tests===== | ===== Adding and Resetting Tests===== | ||
- | The test-suite is fully controlled by the following files in the [[src>cp2k/tests]] directories | + | The test-suite is fully controlled by the following files in the [[src> |
^ File Name ^ Content | ^ File Name ^ Content | ||
| '' | | '' | ||
| '' | | '' | ||
- | | '' | + | | '' |
| '' | | '' | ||
dev/regtesting.txt · Last modified: 2023/10/19 14:03 by krack