== 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 the first line of the matlab and python files, 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` 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 ...”`.