== Introduction == ISSM relies on regression tests to check that no bug is introduced during code development. All the tests are located in `$ISSM_DIR/test/test/NightlyRun` and all the tests whose number are less than 1000 are run after each change pushed to the svn repository (through jenkins) and 4 times a day (through cron jobs). If a new capability is being added to ISSM, it is critical that a new test is created. == Files to change/create == Create a `testXXX.m` file with the simulation test and put in `field_names`, `field_tolerances` and `field_values` the names (no space) of the fields you want to check for your test with the tolerances associated (because every computer is different). Put the name of your test in `IdToName.m` and run the following command to create the archive (the archive gives the reference values for all the fields that are checked): {{{ #!m >> runme('id',XXX,'procedure','update') }}} This archive is located in `$ISSM_DIR/test/test/archives` in NetCDF format, and is the same for the Python test if you create one as well. Now if you run {{{ #!m >> runme('id',XXX) }}} you should see SUCCESS everywhere. If not, you have to adjust the tolerances slightly. NB : do the same thing for `testXXX.py` and `IdToName.py` without creating the archive this time. == Checking in the new test == You can `svn add` the new files (`testXXX.m`, `testXXX.py` and archiveXXX.nc) and `svn commit –m "NEW: added test to check ...”`.