... | ... | @@ -22,11 +22,10 @@ To create a new regression test the following files have to be created |
|
|
in a directory called `RegressionTestName`
|
|
|
|
|
|
1. `RegressionTestName.rt`: <<specifying-regression-tests,Specify>> the variables tested against reference data
|
|
|
2. `RegressionTestName.sge`: The <<example-sge-file,sge script>> submitted to the batch system to run the regression test
|
|
|
3. `RegressionTestName.local`: The <<example-local-file,local script>> executed to run the test when `--run-local` is specified
|
|
|
4. `RegressionTestName.in`: The input file of the simulation
|
|
|
2. `RegressionTestName.local`: The <<example-local-file,local script>> executed to run the test when `--run-local` is specified
|
|
|
3. `RegressionTestName.in`: The input file of the simulation
|
|
|
|
|
|
Any deviation from this naming scheme will result in a failure when the cron script is trying to run your regression test. Additionally there has to be a directory called `reference` holding the reference data to compare the nightly runs against. This directory contains the following files:
|
|
|
Any deviation from this naming scheme will result in a failure. Additionally there has to be a directory called `reference` holding the reference data to compare the nightly runs against. This directory contains the following files:
|
|
|
|
|
|
1. `RegressiontestName.lbal`: The reference load balancing file
|
|
|
2. `RegressionTestName.lbal.md5`: The md5sum of the reference load balancing file
|
... | ... | @@ -54,7 +53,6 @@ regression-tests/RegressionTests/RegressionTestName |
|
|
RegressionTestName.local
|
|
|
RegressionTestName.in
|
|
|
RegressionTestName.rt
|
|
|
RegressionTestName.sge
|
|
|
reference
|
|
|
RegressiontestName.lbal
|
|
|
RegressionTestName.lbal.md5
|
... | ... | @@ -113,42 +111,6 @@ PROBE1.loss "x" all 1E-15 |
|
|
PROBE1.loss "y" all 1E-15
|
|
|
----
|
|
|
|
|
|
|
|
|
|
|
|
=== Example `sge` file
|
|
|
|
|
|
A sample `sge` file looks like this:
|
|
|
|
|
|
----
|
|
|
#!/bin/bash
|
|
|
#$ -cwd
|
|
|
#$ -j y
|
|
|
#$ -pe mpi 4
|
|
|
#$ -N ExternalFieldTest-RT
|
|
|
#$ -v OPENMPI,LD_LIBRARY_PATH,OPAL_EXE_PATH,REG_TEST_DIR
|
|
|
|
|
|
MACHINE_FILE=$TMPDIR/machinefile
|
|
|
awk '/^felsim/ {print $1" slots="$2}' $PE_HOSTFILE > $MACHINE_FILE
|
|
|
cp $MACHINE_FILE machinefile.last
|
|
|
|
|
|
echo "PE_HOSTFILE:"
|
|
|
cat $PE_HOSTFILE
|
|
|
echo "MACHINE_FILE:"
|
|
|
cat $MACHINE_FILE
|
|
|
echo "SLOTS=$NSLOTS"
|
|
|
|
|
|
cd $REG_TEST_DIR
|
|
|
cp TwoStep.h5 ExternalFieldTest.h5
|
|
|
OPAL="$OPAL_EXE_PATH/opal ExternalFieldTest.in --commlib mpi --info 0 --warn 0 2>&1"
|
|
|
CMD="$MPIHOME/bin/mpirun -machinefile $MACHINE_FILE -np $NSLOTS --mca ras localhost --mca pls rsh $OPAL "
|
|
|
$CMD
|
|
|
----
|
|
|
|
|
|
|
|
|
It is very important to include the `OPAL_EXE_PATH` and `REG_TEST_DIR`
|
|
|
on line 6 and using these variables as shown in the example. Otherwise
|
|
|
the regressiontests will not run properly.
|
|
|
|
|
|
=== Example `local` file
|
|
|
|
|
|
A sample `local` file looks like this:
|
... | ... | @@ -172,10 +134,6 @@ md5sum ExternalFieldTest.out > ExternalFieldTest.out.md5 |
|
|
|
|
|
in the terminal.
|
|
|
|
|
|
== Auto Generating Regression Tests
|
|
|
|
|
|
TODO
|
|
|
|
|
|
== Locally Run Regression Tests
|
|
|
0. `git clone git@gitlab.psi.ch:OPAL/NightlyBuild.git`
|
|
|
1. goto the directory where **run-reg-tests.py** is present (you get this from the clone above)
|
... | ... | |