Skip to content

Commit a72a518

Browse files
committed
Add explicit tests for StopIteration during SCF.
ADF tests are currently broken due to the parser.
1 parent 13a12aa commit a72a518

File tree

2 files changed

+102
-1
lines changed

2 files changed

+102
-1
lines changed

regression.py

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,45 @@ def testADF_ADF2013_01_dvb_gopt_b_unconverged_adfout(logfile):
8989
"""An unconverged geometry optimization to test for empty optdone (see #103 for details)."""
9090
assert hasattr(logfile.data, 'optdone') and not logfile.data.optdone
9191

92+
# def testADF_ADF2013_01_stopiter_dvb_sp_adfout(logfile):
93+
# """Check to ensure that an incomplete SCF is handled correctly."""
94+
# assert len(logfile.data.scfvalues[0]) == 10
95+
96+
def testADF_ADF2013_01_stopiter_dvb_sp_b_adfout(logfile):
97+
"""Check to ensure that an incomplete SCF is handled correctly."""
98+
# Why is this not 3?
99+
assert len(logfile.data.scfvalues[0]) == 2
100+
101+
# def testADF_ADF2013_01_stopiter_dvb_sp_c_adfout(logfile):
102+
# """Check to ensure that an incomplete SCF is handled correctly."""
103+
# assert len(logfile.data.scfvalues[0]) == 6
104+
105+
# def testADF_ADF2013_01_stopiter_dvb_sp_d_adfout(logfile):
106+
# """Check to ensure that an incomplete SCF is handled correctly."""
107+
# assert len(logfile.data.scfvalues[0]) == 7
108+
109+
# def testADF_ADF2013_01_stopiter_dvb_un_sp_adfout(logfile):
110+
# """Check to ensure that an incomplete SCF is handled correctly."""
111+
# assert len(logfile.data.scfvalues[0]) == 7
112+
113+
# def testADF_ADF2013_01_stopiter_dvb_un_sp_c_adfout(logfile):
114+
# """Check to ensure that an incomplete SCF is handled correctly."""
115+
# assert len(logfile.data.scfvalues[0]) == 10
116+
117+
# def testADF_ADF2013_01_stopiter_MoOCl4_sp_adfout(logfile):
118+
# """Check to ensure that an incomplete SCF is handled correctly."""
119+
# assert len(logfile.data.scfvalues[0]) == 11
120+
121+
# DALTON #
122+
123+
def testDALTON_DALTON_2015_stopiter_dalton_dft_out(logfile):
124+
"""Check to ensure that an incomplete SCF is handled correctly."""
125+
assert len(logfile.data.scfvalues[0]) == 8
126+
127+
def testDALTON_DALTON_2015_stopiter_dalton_hf_out(logfile):
128+
"""Check to ensure that an incomplete SCF is handled correctly."""
129+
assert len(logfile.data.scfvalues[0]) == 5
130+
92131
# Firefly #
93132

94133
def testGAMESS_Firefly8_0_dvb_gopt_a_unconverged_out(logfile):
@@ -99,6 +138,10 @@ def testGAMESS_Firefly8_0_h2o_log(logfile):
99138
"""Check that molecular orbitals are parsed correctly (cclib/cclib#208)."""
100139
assert logfile.data.mocoeffs[0][0][0] == -0.994216
101140

141+
def testGAMESS_Firefly8_0_stopiter_firefly_out(logfile):
142+
"""Check to ensure that an incomplete SCF is handled correctly."""
143+
assert len(logfile.data.scfvalues[0]) == 6
144+
102145
# GAMESS #
103146

104147
def testGAMESS_GAMESS_US2008_N2_UMP2_out(logfile):
@@ -129,6 +172,10 @@ def testGAMESS_GAMESS_US2012_dvb_gopt_a_unconverged_out(logfile):
129172
"""An unconverged geometry optimization to test for empty optdone (see #103 for details)."""
130173
assert hasattr(logfile.data, 'optdone') and not logfile.data.optdone
131174

175+
def testGAMESS_GAMESS_US2012_stopiter_gamess_out(logfile):
176+
"""Check to ensure that an incomplete SCF is handled correctly."""
177+
assert len(logfile.data.scfvalues[0]) == 10
178+
132179
def testGAMESS_GAMESS_US2013_N_UHF_out(logfile):
133180
"""An UHF job that has an LZ value analysis between the alpha and beta orbitals."""
134181
assert len(logfile.data.moenergies) == 2
@@ -153,6 +200,14 @@ def testGAMESS_WinGAMESS_dvb_td_trplet_2007_03_24_r1_out(logfile):
153200
def testGAMESS_UK_GAMESS_UK8_0_dvb_gopt_hf_unconverged_out(logfile):
154201
assert hasattr(logfile.data, 'optdone') and not logfile.data.optdone
155202

203+
def testGAMESS_UK_GAMESS_UK8_0_stopiter_gamessuk_dft_out(logfile):
204+
"""Check to ensure that an incomplete SCF is handled correctly."""
205+
assert len(logfile.data.scfvalues[0]) == 7
206+
207+
def testGAMESS_UK_GAMESS_UK8_0_stopiter_gamessuk_hf_out(logfile):
208+
"""Check to ensure that an incomplete SCF is handled correctly."""
209+
assert len(logfile.data.scfvalues[0]) == 5
210+
156211
# Gaussian #
157212

158213
def testGaussian_Gaussian98_C_bigmult_log(logfile):
@@ -326,6 +381,9 @@ def testGaussian_Gaussian09_benzene_freq_log(logfile):
326381
"""Check that default precision vib displacements are parsed correctly."""
327382
assert abs(logfile.data.vibdisps[0,0,2] - (-0.04)) < 0.00001
328383

384+
def testGaussian_Gaussian09_stopiter_gaussian_out(logfile):
385+
"""Check to ensure that an incomplete SCF is handled correctly."""
386+
assert len(logfile.data.scfvalues[0]) == 4
329387

330388
# Jaguar #
331389

@@ -334,6 +392,14 @@ def testGaussian_Gaussian09_benzene_freq_log(logfile):
334392
#def testJaguarX.X_dvb_gopt_unconverged:
335393
# assert hasattr(logfile.data, 'optdone') and not logfile.data.optdone
336394

395+
def testJaguar_Jaguar8_3_stopiter_jaguar_dft_out(logfile):
396+
"""Check to ensure that an incomplete SCF is handled correctly."""
397+
assert len(logfile.data.scfvalues[0]) == 4
398+
399+
def testJaguar_Jaguar8_3_stopiter_jaguar_hf_out(logfile):
400+
"""Check to ensure that an incomplete SCF is handled correctly."""
401+
assert len(logfile.data.scfvalues[0]) == 3
402+
337403
# Molpro #
338404

339405
def testMolpro_Molpro2008_ch2o_molpro_casscf_out(logfile):
@@ -361,6 +427,14 @@ def testMolpro_Molpro2012_dvb_gopt_unconverged_out(logfile):
361427
"""An unconverged geometry optimization to test for empty optdone (see #103 for details)."""
362428
assert hasattr(logfile.data, 'optdone') and not logfile.data.optdone
363429

430+
def testMolpro_Molpro2012_stopiter_molpro_dft_out(logfile):
431+
"""Check to ensure that an incomplete SCF is handled correctly."""
432+
assert len(logfile.data.scfvalues[0]) == 6
433+
434+
def testMolpro_Molpro2012_stopiter_molpro_hf_out(logfile):
435+
"""Check to ensure that an incomplete SCF is handled correctly."""
436+
assert len(logfile.data.scfvalues[0]) == 6
437+
364438
# NWChem #
365439

366440
def testNWChem_NWChem6_0_dvb_gopt_hf_unconverged_out(logfile):
@@ -400,6 +474,14 @@ def testNWChem_NWChem6_0_hydrogen_atom_UHF_cc_pVDZ_out(logfile):
400474
assert logfile.data.homos[0] == 0
401475
assert logfile.data.homos[1] == 0
402476

477+
def testNWChem_NWChem6_5_stopiter_nwchem_dft_out(logfile):
478+
"""Check to ensure that an incomplete SCF is handled correctly."""
479+
assert len(logfile.data.scfvalues[0]) == 3
480+
481+
def testNWChem_NWChem6_5_stopiter_nwchem_hf_out(logfile):
482+
"""Check to ensure that an incomplete SCF is handled correctly."""
483+
assert len(logfile.data.scfvalues[0]) == 2
484+
403485
# ORCA #
404486

405487
def testORCA_ORCA2_8_co_cosmo_out(logfile):
@@ -429,6 +511,14 @@ def testORCA_ORCA3_0_dvb_gopt_unconverged_out(logfile):
429511
"""An unconverged geometry optimization to test for empty optdone (see #103 for details)."""
430512
assert hasattr(logfile.data, 'optdone') and not logfile.data.optdone
431513

514+
def testORCA_ORCA3_0_stopiter_orca_scf_compact_out(logfile):
515+
"""Check to ensure that an incomplete SCF is handled correctly."""
516+
assert len(logfile.data.scfvalues[0]) == 1
517+
518+
def testORCA_ORCA3_0_stopiter_orca_scf_large_out(logfile):
519+
"""Check to ensure that an incomplete SCF is handled correctly."""
520+
assert len(logfile.data.scfvalues[0]) == 9
521+
432522
# PSI #
433523

434524
def testPsi_Psi3_water_psi3_log(logfile):
@@ -443,6 +533,14 @@ def testPsi_Psi4_dvb_gopt_hf_unconverged_out(logfile):
443533
"""An unconverged geometry optimization to test for empty optdone (see #103 for details)."""
444534
assert hasattr(logfile.data, 'optdone') and not logfile.data.optdone
445535

536+
def testPsi_Psi4_stopiter_psi_dft_out(logfile):
537+
"""Check to ensure that an incomplete SCF is handled correctly."""
538+
assert len(logfile.data.scfvalues[0]) == 7
539+
540+
def testPsi_Psi4_stopiter_psi_hf_out(logfile):
541+
"""Check to ensure that an incomplete SCF is handled correctly."""
542+
assert len(logfile.data.scfvalues[0]) == 6
543+
446544
# Q-Chem #
447545

448546
def testQChem_QChem4_2_CH3___Na__RS_out(logfile):
@@ -789,6 +887,9 @@ def testQChem_QChem4_2_read_molecule_out(logfile):
789887
# exactly fragment calculations.
790888
assert len(logfile.data.scfenergies) == 2
791889

890+
def testQChem_QChem4_2_stopiter_qchem_out(logfile):
891+
"""Check to ensure that an incomplete SCF is handled correctly."""
892+
assert len(logfile.data.scfvalues[0]) == 7
792893

793894
# These regression tests are for logfiles that are not to be parsed
794895
# for some reason, and the function should start with 'testnoparse'.

regressionfiles.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,13 @@ ADF/ADF2006.01/HgMeBr_zso_orig.out
2525
ADF/ADF2009.01/JOCRUP-sp3-adf09.out
2626
ADF/ADF2013.01/dvb_gopt_b_fullscf.adfout
2727
ADF/ADF2013.01/dvb_gopt_b_unconverged.adfout
28-
ADF/ADF2013.01/stopiter_MoOCl4-sp.adfout
2928
ADF/ADF2013.01/stopiter_dvb_sp.adfout
3029
ADF/ADF2013.01/stopiter_dvb_sp_b.adfout
3130
ADF/ADF2013.01/stopiter_dvb_sp_c.adfout
3231
ADF/ADF2013.01/stopiter_dvb_sp_d.adfout
3332
ADF/ADF2013.01/stopiter_dvb_un_sp.adfout
3433
ADF/ADF2013.01/stopiter_dvb_un_sp_c.adfout
34+
ADF/ADF2013.01/stopiter_MoOCl4-sp.adfout
3535
ADF/ADF2014.01/dvb_gopt_b_fullscf.out
3636
DALTON/DALTON-2013/C_bigbasis.aug-cc-pCVQZ.out
3737
DALTON/DALTON-2013/b3lyp_energy_dvb_sp_nosym.out

0 commit comments

Comments
 (0)