From f16809986034e3ca52a0ef046868958b108d5cfd Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 4 Aug 2026 20:59:25 +0200 Subject: [PATCH 1/7] Reduce parallelism for Perl tests --- eb_hooks.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/eb_hooks.py b/eb_hooks.py index 6a3b5ba0..596b9e54 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -1684,6 +1684,18 @@ def pre_test_hook_lammps_ignore_failure_arm_generic(self, *args, **kwargs): self.cfg['test_cmd'] = test_cmd +def pre_test_hook_perl_reduce_parallelism(self, *args, **kwargs): + """ + Tests fail for Perl v5.42.0 when run with full parallelism. So, reduce parallelism. + See https://github.com/EESSI/software-layer/pull/1556#issuecomment-5183283054 + """ + if self.name == "Perl" and self.version == "5.42.0": + if hasattr(self, 'parallel'): + self.cfg.parallel = 1 + else: + self.cfg['parallel'] = 1 + print_msg("Limiting parallelism to 1 in the test step to avoid failures", log=self.log) + def pre_test_hook_ignore_failing_tests_SciPybundle(self, *args, **kwargs): """ Pre-test hook for SciPy-bundle: skip failing tests for selected SciPy-bundle versions From 6bc8d0e3138166e7d884589fc3d2fb028e29786f Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 4 Aug 2026 21:00:37 +0200 Subject: [PATCH 2/7] Also register the hook --- eb_hooks.py | 1 + 1 file changed, 1 insertion(+) diff --git a/eb_hooks.py b/eb_hooks.py index 596b9e54..1398decb 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -2331,6 +2331,7 @@ def post_easyblock_hook(self, *args, **kwargs): 'Siesta': pre_test_hook_Siesta_ignore_failure_with_crosscompilation, 'netCDF': pre_test_hook_ignore_failing_tests_netCDF, 'OpenBabel': pre_test_hook_ignore_failing_tests_OpenBabel_a64fx, + 'Perl': pre_test_hook_perl_reduce_parallelism, 'PyTorch': pre_test_hook_increase_max_failed_tests_arm_PyTorch, } From 6de584bf56da35dfd60afc8caeae4a413224f1fc Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Tue, 4 Aug 2026 21:02:09 +0200 Subject: [PATCH 3/7] Add easystack to test with --- .../software.eessi.io/2026.06/eessi-2026.06-eb-5.3.1-2026.1.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 easystacks/software.eessi.io/2026.06/eessi-2026.06-eb-5.3.1-2026.1.yml diff --git a/easystacks/software.eessi.io/2026.06/eessi-2026.06-eb-5.3.1-2026.1.yml b/easystacks/software.eessi.io/2026.06/eessi-2026.06-eb-5.3.1-2026.1.yml new file mode 100644 index 00000000..da7c1f71 --- /dev/null +++ b/easystacks/software.eessi.io/2026.06/eessi-2026.06-eb-5.3.1-2026.1.yml @@ -0,0 +1,2 @@ +easyconfigs: + - Perl-5.42.0-GCCcore-15.2.0.eb From c5fc661ab25873bcac85e2bfd05a5fc15cfc4124 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Wed, 5 Aug 2026 15:06:46 +0200 Subject: [PATCH 4/7] Add pretestopts to increase test timeout --- eb_hooks.py | 1 + 1 file changed, 1 insertion(+) diff --git a/eb_hooks.py b/eb_hooks.py index 1398decb..e353e27a 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -1690,6 +1690,7 @@ def pre_test_hook_perl_reduce_parallelism(self, *args, **kwargs): See https://github.com/EESSI/software-layer/pull/1556#issuecomment-5183283054 """ if self.name == "Perl" and self.version == "5.42.0": + self.cfg['pretestopts'] = "export PERL_TEST_TIME_OUT_FACTOR=10 && " + self.cfg['pretestopts'] if hasattr(self, 'parallel'): self.cfg.parallel = 1 else: From 89e670f2336a610827ef899ecad520af78b0a848 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen <33718780+casparvl@users.noreply.github.com> Date: Wed, 5 Aug 2026 16:15:04 +0200 Subject: [PATCH 5/7] Update eb_hooks.py Co-authored-by: Kenneth Hoste --- eb_hooks.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index e353e27a..162a4f75 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -1690,12 +1690,8 @@ def pre_test_hook_perl_reduce_parallelism(self, *args, **kwargs): See https://github.com/EESSI/software-layer/pull/1556#issuecomment-5183283054 """ if self.name == "Perl" and self.version == "5.42.0": - self.cfg['pretestopts'] = "export PERL_TEST_TIME_OUT_FACTOR=10 && " + self.cfg['pretestopts'] - if hasattr(self, 'parallel'): - self.cfg.parallel = 1 - else: - self.cfg['parallel'] = 1 - print_msg("Limiting parallelism to 1 in the test step to avoid failures", log=self.log) + # increase timeout for Perl tests, to avoid flaky failures in tests like dist/threads/t/libc.t + env.setvar('PERL_TEST_TIME_OUT_FACTOR', '10') def pre_test_hook_ignore_failing_tests_SciPybundle(self, *args, **kwargs): """ From c8cb1f134fa006af6f6f3ce86eb301181d3a9323 Mon Sep 17 00:00:00 2001 From: Caspar van Leeuwen Date: Wed, 5 Aug 2026 17:15:33 +0200 Subject: [PATCH 6/7] Update the name of the hook now that it does something else --- eb_hooks.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eb_hooks.py b/eb_hooks.py index 162a4f75..282f83b8 100644 --- a/eb_hooks.py +++ b/eb_hooks.py @@ -1684,9 +1684,9 @@ def pre_test_hook_lammps_ignore_failure_arm_generic(self, *args, **kwargs): self.cfg['test_cmd'] = test_cmd -def pre_test_hook_perl_reduce_parallelism(self, *args, **kwargs): +def pre_test_hook_perl_increase_test_timeout(self, *args, **kwargs): """ - Tests fail for Perl v5.42.0 when run with full parallelism. So, reduce parallelism. + Tests fail for Perl v5.42.0 when run with standard timeout. So, increase timeout by a factor of 10. See https://github.com/EESSI/software-layer/pull/1556#issuecomment-5183283054 """ if self.name == "Perl" and self.version == "5.42.0": @@ -2328,7 +2328,7 @@ def post_easyblock_hook(self, *args, **kwargs): 'Siesta': pre_test_hook_Siesta_ignore_failure_with_crosscompilation, 'netCDF': pre_test_hook_ignore_failing_tests_netCDF, 'OpenBabel': pre_test_hook_ignore_failing_tests_OpenBabel_a64fx, - 'Perl': pre_test_hook_perl_reduce_parallelism, + 'Perl': pre_test_hook_perl_increase_test_timeout, 'PyTorch': pre_test_hook_increase_max_failed_tests_arm_PyTorch, } From 920124b261a8e7fc8b7ce3fdd08ea4e4b4a1d8a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bob=20Dr=C3=B6ge?= Date: Thu, 6 Aug 2026 11:56:53 +0200 Subject: [PATCH 7/7] remove easystack file --- .../software.eessi.io/2026.06/eessi-2026.06-eb-5.3.1-2026.1.yml | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 easystacks/software.eessi.io/2026.06/eessi-2026.06-eb-5.3.1-2026.1.yml diff --git a/easystacks/software.eessi.io/2026.06/eessi-2026.06-eb-5.3.1-2026.1.yml b/easystacks/software.eessi.io/2026.06/eessi-2026.06-eb-5.3.1-2026.1.yml deleted file mode 100644 index da7c1f71..00000000 --- a/easystacks/software.eessi.io/2026.06/eessi-2026.06-eb-5.3.1-2026.1.yml +++ /dev/null @@ -1,2 +0,0 @@ -easyconfigs: - - Perl-5.42.0-GCCcore-15.2.0.eb