ValeevGroup / mpqc

The Massively Parallel Quantum Chemistry program, MPQC, computes properties of atoms and molecules from first principles using the time independent Schrödinger equation.
66 stars 24 forks source link

testsuite skips further integral runs if failures or discrepancies are detected #48

Closed mbanck closed 8 years ago

mbanck commented 8 years ago

If a failure or a numeric discrepancy is detected by the test suite, it aborts even if further integral runs are queued.

I think it would be better to always run all integral runs and only exit with non-zero status (and maybe an overall summary) after the last integral run.

Example:

https://buildd.debian.org/status/fetch.php?pkg=mpqc3&arch=powerpc&ver=0.0~git20160216-3&stamp=1455875434

input_zapt2ch2:              ok ok E: 9
lmp2_glycine.lmp2.631gs:     ok ok E:-87*
lmp2_glycine.lmp2.cd.631gs:  ok ok E:-35*
lmp2_glycine.mp2.631gs:      ok ok E: 9 D1L:7 X:OK
*************************************************
*     69 test cases total
*      2 numerical discrepancies
*      0 failed reference cases
*      0 missing reference cases
*      0 failed test cases
*      0 missing test cases
*************************************************
CHECK FAILED
check.mk:522: recipe for target 'check0_chk' failed
make[6]: *** [check0_chk] Error 1
make[6]: Leaving directory '/«PKGBUILDDIR»/obj-powerpc-linux-gnu/test'
test/CMakeFiles/check0.dir/build.make:60: recipe for target 'test/CMakeFiles/check0' failed
make[5]: *** [test/CMakeFiles/check0] Error 2
make[5]: Leaving directory '/«PKGBUILDDIR»/obj-powerpc-linux-gnu'

vs.

https://buildd.debian.org/status/fetch.php?pkg=mpqc3&arch=ppc64el&ver=0.0~git20160216-3&stamp=1455870241

input_zapt2ch2:              ok ok E: 9
lmp2_glycine.lmp2.631gs:     ok ok E: 8
lmp2_glycine.lmp2.cd.631gs:  ok ok E: 8
lmp2_glycine.mp2.631gs:      ok ok E: 9 D1L:7 X:OK
*************************************************
*     69 test cases total
*      0 numerical discrepancies
*      0 failed reference cases
*      0 missing reference cases
*      0 failed test cases
*      0 missing test cases
*************************************************
CHECK OK
make[6]: Leaving directory '/«PKGBUILDDIR»/obj-powerpc64le-linux-gnu/test'
make[6]: Entering directory '/«PKGBUILDDIR»/obj-powerpc64le-linux-gnu/test'
cd run && perl /«PKGBUILDDIR»/obj-powerpc64le-linux-gnu/bin/mpqcrun --autoout --simpout --inputprefix /«PKGBUILDDIR»/test/ref/ --seq ^ckpt_ --mpqc /«PKGBUILDDIR»/obj-powerpc64le-linux-gnu/src/bin/mpqc/mpqc --integral=libint2 pt2f12_scfc11ccpvdzaugccpvdzc2v.in mp2f12_ch2mp2f12slashc10ccpvdzccpvdzf12cabsccpvtzric2v_ansatz=diag,coupling=true_.in mp2f12_ch2mp2f12slashc10ccpvdzccpvdzf12cabsccpvtzric2v_ansatz=ijkl,coupling=true_.in ccsdptpr12_df_ne.in psiccsdpt2f12_h2opsiccsd_tf12ccpvdzccpvdzf12cabsccpvtzric2v_ansatz=diag,ebc=false_.in psiccsdpt2f12_h2opsiccsd_tf12ccpvdzccpvdzf12cabsccpvtzric2v_ansatz=ijkl,ebc=false_.in psipt2f12_casscfc11ccpvdzaugccpvdzc2v.in psipt2f12_mrcic10ccpvdzaugccpvdzc2v.in
Running a maximum of 1 jobs at a time.
Running 1 processes per job.
Running 1 threads per process.
Nodes in slot 0:
Using INTEGRAL = "<IntegralLibint2>:()"