openmopac / mopac

Molecular Orbital PACkage
http://openmopac.net
GNU Lesser General Public License v3.0
122 stars 32 forks source link

residues test fails on Fedora #80

Closed susilehtola closed 2 years ago

susilehtola commented 2 years ago

build log: https://kojipkgs.fedoraproject.org//work/tasks/2687/88772687/build.log

 21/114 Test  #26: residues .........................***Failed    0.17 sec
          MOPAC Job: "SITE_Individual_residues.mop" ended normally on Jun 26, 2022, at 20:09.
WARNING: output file size mismatch, 616 vs. 66
Traceback (most recent call last):
  File "/builddir/build/BUILD/mopac-22.0.3/tests/run_test.py", line 32, in <module>
    compare_mopac_out_file(out_line, out_list, ref_line, ref_list)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/mopac-22.0.3/tests/compare_output.py", line 225, in compare_mopac_out_file
    assert ref == out, f'ERROR: string mismatch between {ref} on reference line {ref_line0} and {out} on output line {out_line0}'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: ERROR: string mismatch between ******************************************************************************* on reference line 1 and END on output line 2
godotalgorithm commented 2 years ago

Can you provide more information about this? Is this happening on only one machine in the Fedora tests? Is there anything especially distinctive about this machine?

This looks like an input parsing error: the calculation seems to terminate almost immediately for the failed test. In examining the test, it's using a keyword line extender feature that I'm no longer officially supporting, and I'll adjust the test to use the supported version of the feature. Hopefully the test will be more robust after the switch ...

susilehtola commented 2 years ago

The fail occurs on a x86_64 builder. The builders tend to be pretty big machines, with many processors and memory.

There are also test failures for pdb_compare2 and pdb_compare3 on aarch64:

 21/114 Test  #13: pdb_compare2 .....................***Failed    0.49 sec
          MOPAC Job: "Compare_PDB_Bacteriorhodopsin_1AP9_and_2AT9.mop" ended normally on Jun 26, 2022, at 20:10.
WARNING: output file size mismatch, 5677 vs. 66
Traceback (most recent call last):
  File "/builddir/build/BUILD/mopac-22.0.3/tests/run_test.py", line 32, in <module>
    compare_mopac_out_file(out_line, out_list, ref_line, ref_list)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/mopac-22.0.3/tests/compare_output.py", line 225, in compare_mopac_out_file
    assert ref == out, f'ERROR: string mismatch between {ref} on reference line {ref_line0} and {out} on output line {out_line0}'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: ERROR: string mismatch between ******************************************************************************* on reference line 1 and END on output line 2

and

 23/114 Test  #14: pdb_compare3 .....................***Failed    0.51 sec
          MOPAC Job: "Compare_PDB_Bacteriorhodopsin_1AP9_and_1C3W.mop" ended normally on Jun 26, 2022, at 20:10.
WARNING: output file size mismatch, 4877 vs. 66
Traceback (most recent call last):
  File "/builddir/build/BUILD/mopac-22.0.3/tests/run_test.py", line 32, in <module>
    compare_mopac_out_file(out_line, out_list, ref_line, ref_list)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/builddir/build/BUILD/mopac-22.0.3/tests/compare_output.py", line 225, in compare_mopac_out_file
    assert ref == out, f'ERROR: string mismatch between {ref} on reference line {ref_line0} and {out} on output line {out_line0}'
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError: ERROR: string mismatch between ******************************************************************************* on reference line 1 and END on output line 2
godotalgorithm commented 2 years ago

The pbe_compare tests are another concurrency issue - I didn't notice that they are all acting on the same file. I think I'll go back and adjust my previous concurrency fix, since there are now many tests using the same file. I'll copy all auxiliary files needed by the tests to the testing subdirectory of the build directory before running any tests.

Is the "residues" test failure intermittent as with these other concurrency-driven test failures?

susilehtola commented 2 years ago

Is the "residues" test failure intermittent as with these other concurrency-driven test failures?

It may be...

godotalgorithm commented 2 years ago

Ok, the "residues" test depends on a file that is regenerated by another test (IONIZE.arc), so it is just a concurrency issue, but a more subtle one.