conquest/testsuite
Lionel 88ed35e2be recover develop verion of test_check_output.py and add EXX tests 2024-12-05 16:03:43 +01:00
..
test_001_bulk_Si_1proc_Diag Add python script for checking output, rename reference outputs 2023-05-26 15:45:10 +01:00
test_002_bulk_Si_1proc_OrderN Add python script for checking output, rename reference outputs 2023-05-26 15:45:10 +01:00
test_003_bulk_BTO_polarisation Changed XC code to Conquest PW91 from LibXC 2024-09-11 13:37:02 +01:00
test_004_isol_C2H4_4proc_PBE0CRI polish new test for EXX 2024-12-03 17:17:04 +01:00
test_005_isol_C2H4_4proc_PBE0GTO reworked exx tests in testsuite 2023-11-30 19:12:53 +01:00
test_006_isol_C2H4_4proc_PBE0ERI added missing ref output file for test_006 2024-12-03 18:33:05 +01:00
test_007_isol_CH_spinpol_1proc_PBE0CRI input correction test for spin-pol and EXX 2024-12-03 19:15:57 +01:00
.gitignore Ignore more files in tests and benchmarks 2024-01-31 15:56:55 +00:00
README.md Update README.md 2023-07-03 14:20:46 +01:00
run_conquest_tests.sh Set omp_stacksize in testsuite to 100M as first guess 2023-09-21 12:28:29 +01:00
test_check_output.py recover develop verion of test_check_output.py and add EXX tests 2024-12-05 16:03:43 +01:00

README.md

CONQUEST test suite.

This directory currently contains three end-to-end tests

  • test_001_bulk_Si_1proc_Diag
  • test_002_bulk_Si_1proc_OrderN
  • test_003_bulk_BTO_polarisation

for Conquest, and a simple python pytest script for checking the correctness of the outputs.

Usage

To run the tests

  1. Compile Conquest with make in ../src
  2. Run the Conquest executable in the subdirectories named test_00*
  3. Check the correctness of the outputs with pytest

These steps can be run automatically using the script run_conquest_test.sh in this directry.

Contributing

To add new tests

  1. Add input files and a sample output file (run with IO.Iprint 0 and named Conquest_out.ref) in a new subdirectory under testsuite. The naming convention is test directory names start with test_ followed by a running index with three digits, e.g. 004.
  2. Add a new test to TestClass in test_check_output.py. You can use one of the current tests, named test_XXX as templates.
    • Update the directory name passed to path
    • Update the list of parameters in the @pytest.mark.parametrize decorator. The key parameters correspond to fields in the Conquest_out file to be checked against the reference.
    • If necessary, update the read_conquest_out() function to parse a new field from the output.
    • If necessary, update the precision() function to return a custom precision for a given value of the key parameter.
  3. Add it as a new Run test XXX step to the CI workflow