A new version (v4) of my test suite for VASP is now available. You can find it on GitHub:
This time, I decided to rewrite it from scratch, and drop the beetest testing framework in favor of using Python Behave instead. The extra work involved in maintaining my own testing software was not worth it when it was possible to get the same, or better, flexibility with an existing solution.
behave, the tests are now written in plain English, which is much easier to read compared to the earlier XML format. The actual test code now looks like this:
... Scenario: Fe-bcc When I run VASP with a maximum of 8 ranks Then the total energy should be -8.231456 +/- 1.0e-5 eV and self consistency should be reached in 16 iterations and the Fermi energy should be 9.629837 +/- 0.01 eV and the pressure should be -39.29 +/- 0.1 kB and the xx component of the stress tensor should be -39.28618 +/- 0.1 kB and the yy component of the stress tensor should be -39.28618 +/- 0.1 kB and the zz component of the stress tensor should be -39.28618 +/- 0.1 kB and the xy component of the stress tensor should be 0.0 +/- 0.01 kB and the magnetic moment should be 2.2095 +/- 0.01 uB and the point group symmetry should be O_h and the XML output should be valid ...
When the tests are run, the text above is translated into Python code which does the actual inspection and checking of the output files. Hopefully, this change will make it easier for other people to make changes and write their own test cases.
In addition to the code rewrite, there are several new test cases in version 4. They are aimed at testing the GW, hybrid-DFT, and density of states functionality. There is more information on the vasptest page.