diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 18b0b1a7a8..4869b9b7b7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -120,110 +120,15 @@ jobs: run: | ctest --test-dir build -V --timeout 1700 -R integrated_test - - name: Module_Base Unittests + - name: All Module Unittests env: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - ctest --test-dir build -V --timeout 1700 -R MODULE_BASE - - - name: Module_IO Unittests - env: - GTEST_COLOR: 'yes' - OMP_NUM_THREADS: '2' - run: | - ctest --test-dir build -V --timeout 1700 -R MODULE_IO - - - name: Module_HSolver Unittests - env: - GTEST_COLOR: 'yes' - OMP_NUM_THREADS: '2' - run: | - ctest --test-dir build -V --timeout 1700 -R MODULE_HSOLVER -E PERF_MODULE_HSOLVER_KERNELS - - - name: Module_Cell Unittests - env: - GTEST_COLOR: 'yes' - OMP_NUM_THREADS: '2' - run: | - ctest --test-dir build -V --timeout 1700 -R MODULE_CELL - - - name: Module_MD Unittests - env: - GTEST_COLOR: 'yes' - OMP_NUM_THREADS: '2' - run: | - ctest --test-dir build -V --timeout 1700 -R MODULE_MD - - - name: Module_Psi Unittests - env: - GTEST_COLOR: 'yes' - OMP_NUM_THREADS: '2' - run: | - ctest --test-dir build -V --timeout 1700 -R MODULE_PSI - - - name: Module_RI Unittests - env: - GTEST_COLOR: 'yes' - OMP_NUM_THREADS: '2' - run: | - ctest --test-dir build -V --timeout 1700 -R MODULE_RI - - - name: Module_Estate Unittests - env: - GTEST_COLOR: 'yes' - OMP_NUM_THREADS: '2' - run: | - ctest --test-dir build -V --timeout 1700 -R MODULE_ESTATE - - - name: Module_Hamilt Unittests - env: - GTEST_COLOR: 'yes' - OMP_NUM_THREADS: '2' - run: | - ctest --test-dir build -V --timeout 1700 -R MODULE_HAMILT - - - name: Module_PW Unittests - env: - GTEST_COLOR: 'yes' - OMP_NUM_THREADS: '2' - run: | - ctest --test-dir build -V --timeout 1700 -R MODULE_PW - - - name: Module_LCAO Unittests - env: - GTEST_COLOR: 'yes' - OMP_NUM_THREADS: '2' - run: | - ctest --test-dir build -V --timeout 1700 -R MODULE_LCAO - - - name: Module_AO Unittests - env: - GTEST_COLOR: 'yes' - OMP_NUM_THREADS: '2' - run: | - ctest --test-dir build -V --timeout 1700 -R MODULE_AO - - - name: Module_NAO Unittests - env: - GTEST_COLOR: 'yes' - OMP_NUM_THREADS: '2' - run: | - ctest --test-dir build -V --timeout 1700 -R MODULE_NAO - - - name: Module_RELAX Unittests - env: - GTEST_COLOR: 'yes' - OMP_NUM_THREADS: '2' - run: | - ctest --test-dir build -V --timeout 1700 -R MODULE_RELAX - - - name: Module_LR Unittests - env: - GTEST_COLOR: 'yes' - OMP_NUM_THREADS: '2' - run: | - ctest --test-dir build -V --timeout 1700 -R MODULE_LR + # Run all module unit tests in one parallel ctest invocation + # instead of 16 serial steps (measured ~4.5 min serial). + ctest --test-dir build --output-on-failure --timeout 1700 -j "$(nproc)" \ + -R 'MODULE_' -E PERF_MODULE_HSOLVER_KERNELS - name: 01_PW Test env: @@ -307,4 +212,7 @@ jobs: GTEST_COLOR: 'yes' OMP_NUM_THREADS: '2' run: | - ctest --test-dir build -V --timeout 1700 -E 'integrate_test|01_PW|02_NAO_Gamma|03_NAO_multik|04_FF|05_rtTDDFT|06_SDFT|07_OFDFT|08_EXX|09_DeePKS|10_others|11_PW_GPU|12_NAO_Gamma_GPU|13_NAO_multik_GPU|15_rtTDDFT_GPU|16_SDFT_GPU|17_DS_DFTU|MODULE_BASE|MODULE_IO|MODULE_HSOLVER|MODULE_CELL|MODULE_MD|MODULE_PSI|MODULE_ESTATE|MODULE_RI|MODULE_HAMILT|MODULE_PW|MODULE_LCAO|MODULE_AO|MODULE_NAO|MODULE_RELAX|MODULE_LR' + # Exclude every MODULE_* test with a single regex: the old list of + # 15 MODULE_* prefixes missed MODULE_ESOLVER, which made it run + # twice (once here, once under "All Module Unittests"). + ctest --test-dir build -V --timeout 1700 -E 'integrate_test|01_PW|02_NAO_Gamma|03_NAO_multik|04_FF|05_rtTDDFT|06_SDFT|07_OFDFT|08_EXX|09_DeePKS|10_others|11_PW_GPU|12_NAO_Gamma_GPU|13_NAO_multik_GPU|15_rtTDDFT_GPU|16_SDFT_GPU|17_DS_DFTU|MODULE_'