Skip to content

Commit 68745a9

Browse files
authored
Merge pull request #211 from casparvl/move_away_from_prerun_cmd_hook
Move LAMMPS hook to a pre_test hook
2 parents b490258 + 3b100c8 commit 68745a9

1 file changed

Lines changed: 20 additions & 12 deletions

File tree

eb_hooks.py

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1487,6 +1487,25 @@ def pre_test_hook_ignore_failing_tests_FFTWMPI(self, *args, **kwargs):
14871487
self.cfg['testopts'] = "|| echo ignoring failing tests"
14881488

14891489

1490+
def pre_test_hook_lammps_ignore_failure_arm_generic(self, *args, **kwargs):
1491+
"""
1492+
Ignore failing tests on ARM generic target for LAMMPS version 22Jul2025
1493+
"""
1494+
# Ignore failing ctest for LAMMPS/22Jul2025 on aarch64/generic
1495+
cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR')
1496+
if cpu_target == CPU_TARGET_AARCH64_GENERIC:
1497+
if self.name == 'LAMMPS' and self.version == '22Jul2025':
1498+
# This command matches what is in
1499+
# https://github.com/easybuilders/easybuild-easyblocks/blob/71b010288084e1777fbdd0e3db319f0104134b1d/easybuild/easyblocks/l/lammps.py#L682
1500+
# If a test_cmd is already defined, the easyblock linked above should not overwrite it anymore
1501+
test_cmd = 'ctest '
1502+
test_cmd += '--no-tests=error '
1503+
test_cmd += '-LE unstable -E "TestMliapPyUnified|AtomicPairStyle:meam_spline|KSpaceStyle:scafacos.*" '
1504+
test_cmd += f' || echo "Ignoring failing tests when installing for {cpu_target}"'
1505+
self.log.debug(f"Running tests using test_cmd = '{test_cmd}' as test_cmd")
1506+
self.cfg['test_cmd'] = test_cmd
1507+
1508+
14901509
def pre_test_hook_ignore_failing_tests_SciPybundle(self, *args, **kwargs):
14911510
"""
14921511
Pre-test hook for SciPy-bundle: skip failing tests for selected SciPy-bundle versions
@@ -1968,18 +1987,6 @@ def post_easyblock_hook(self, *args, **kwargs):
19681987
print_warning(f"Not enabling the post_easybuild_hook, as it requires EasyBuild 5.1.1 or newer (you are using {EASYBUILD_VERSION}).")
19691988

19701989

1971-
def pre_run_shell_cmd_hook(cmd, work_dir=None, **kwargs):
1972-
"""Main pre_shell_cmd_hook: trigger custom funtions based on software name."""
1973-
1974-
# Ignore failing ctest for LAMMPS/22Jul2025 on aarch64/generic
1975-
cpu_target = get_eessi_envvar('EESSI_SOFTWARE_SUBDIR')
1976-
if cpu_target == CPU_TARGET_AARCH64_GENERIC:
1977-
if bool(re.search('LAMMPS', work_dir)) and bool(re.search('22Jul2025', work_dir)):
1978-
if isinstance(cmd, str) and cmd.startswith('ctest') and '-LE unstable' in cmd:
1979-
cmd = cmd + f' || echo "Ignoring failing tests when installing for {cpu_target}"'
1980-
return cmd
1981-
1982-
19831990
PARSE_HOOKS = {
19841991
'casacore': parse_hook_casacore_disable_vectorize,
19851992
'CGAL': parse_hook_cgal_toolchainopts_precise,
@@ -2037,6 +2044,7 @@ def pre_run_shell_cmd_hook(cmd, work_dir=None, **kwargs):
20372044
'ESPResSo': pre_test_hook_ignore_failing_tests_ESPResSo,
20382045
'FFTW.MPI': pre_test_hook_ignore_failing_tests_FFTWMPI,
20392046
'Highway': pre_test_hook_exclude_failing_test_Highway,
2047+
'LAMMPS': pre_test_hook_lammps_ignore_failure_arm_generic,
20402048
'SciPy-bundle': pre_test_hook_ignore_failing_tests_SciPybundle,
20412049
'netCDF': pre_test_hook_ignore_failing_tests_netCDF,
20422050
'OpenBabel': pre_test_hook_ignore_failing_tests_OpenBabel_a64fx,

0 commit comments

Comments
 (0)