Update mdrun test comparison infrastructure
authorMark Abraham <mark.j.abraham@gmail.com>
Wed, 4 Sep 2019 15:18:22 +0000 (17:18 +0200)
committerMark Abraham <mark.j.abraham@gmail.com>
Thu, 5 Sep 2019 21:10:53 +0000 (23:10 +0200)
commit0849f50785a30d12e5d6845b672a469b5e6fa15d
tree3ccdba72ac0635077f789e6fe42433766474709b
parent1af270b68329954bc0aea3ee1867bf9f8ddb8c93
Update mdrun test comparison infrastructure

This change is refactoring and extension, no use is made of any new
capabilities.

Referred to position coordinates as coordinates, in line with
agreement elsewhere. Also referred to energy terms consistently,
rather than energy fields or tolerances.

Extended the range of mdp option parameters able to be tested
configurably with the contents of the simulation database.

Made energy and trajectory comparison machinery easier to use.

Trajectory comparison is now more configurable. Sometimes the test
runner will know that it is OK to compare the data in a test frame
with a reference frame even though one of them has data that the other
does not have, or will differ, etc. So, it is now possible to compare
e.g. a test trajectory that has a frame with velocities and not forces
with a reference trajectory whose frame has both velocities and
forces, and have the comparison be valid or not according to whether
the test runner expected the mismatch in contents.

Fixed issue with trajectory frame comparison assuming that coordinates
would always be present.

More use of std::string.

Change-Id: I6926380e271344e7bd1a7c6594cc604d7a68e67a
18 files changed:
src/gromacs/trajectory/trajectoryframe.cpp
src/programs/mdrun/tests/energycomparison.cpp
src/programs/mdrun/tests/energycomparison.h
src/programs/mdrun/tests/energyreader.cpp
src/programs/mdrun/tests/energyreader.h
src/programs/mdrun/tests/exactcontinuation.cpp
src/programs/mdrun/tests/initialconstraints.cpp
src/programs/mdrun/tests/mimic.cpp
src/programs/mdrun/tests/minimize.cpp
src/programs/mdrun/tests/pmetest.cpp
src/programs/mdrun/tests/rerun.cpp
src/programs/mdrun/tests/simple_mdrun.cpp
src/programs/mdrun/tests/simulator.cpp
src/programs/mdrun/tests/simulatorcomparison.cpp
src/programs/mdrun/tests/trajectorycomparison.cpp
src/programs/mdrun/tests/trajectorycomparison.h
src/testutils/simulationdatabase.cpp
src/testutils/simulationdatabase.h