Skip to content

Commit eb20466

Browse files
committed
bump Lmod version to conditional guard around 'extensions' statement in Lua module files to >= 8.2.8 (cfr. TACC/Lmod#428)
1 parent 933faab commit eb20466

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

easybuild/tools/module_generator.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1048,7 +1048,7 @@ def check_version(self, minimal_version_maj, minimal_version_min, minimal_versio
10481048
:param minimal_version_min: the minor version to check
10491049
:param minimal_version_patch: the patch version to check
10501050
"""
1051-
lmod_version_check_expr = 'convertToCanonical(LmodVersion()) > convertToCanonical("%(maj)s.%(min)s.%(patch)s")'
1051+
lmod_version_check_expr = 'convertToCanonical(LmodVersion()) >= convertToCanonical("%(maj)s.%(min)s.%(patch)s")'
10521052
return lmod_version_check_expr % {
10531053
'maj': minimal_version_maj,
10541054
'min': minimal_version_min,
@@ -1172,9 +1172,10 @@ def get_description(self, conflict=True):
11721172

11731173
if extensions_list:
11741174
extensions_stmt = 'extensions("%s")' % ','.join(['%s' % x for x in extensions_list])
1175-
# put this behind a Lmod version check as 'extensions' is only (well) supported since Lmod 8.2.7,
1176-
# see https://lmod.readthedocs.io/en/latest/330_extensions.html#module-extensions
1177-
lines.extend(['', self.conditional_statement(self.check_version("8", "2", "7"), extensions_stmt)])
1175+
# put this behind a Lmod version check as 'extensions' is only (well) supported since Lmod 8.2.8,
1176+
# see https://lmod.readthedocs.io/en/latest/330_extensions.html#module-extensions and
1177+
# https://github.com/TACC/Lmod/issues/428
1178+
lines.extend(['', self.conditional_statement(self.check_version("8", "2", "8"), extensions_stmt)])
11781179

11791180
txt += '\n'.join([''] + lines + ['']) % {
11801181
'name': self.app.name,

test/framework/module_generator.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -713,12 +713,14 @@ def test_module_extensions(self):
713713
modgen = self.MODULE_GENERATOR_CLASS(eb)
714714
desc = modgen.get_description()
715715

716-
patterns = []
717-
if self.MODULE_GENERATOR_CLASS == ModuleGeneratorLua:
718-
patterns.append(r'^\s*extensions\("bar/0.0,barbar/0.0,ls,toy/0.0"\)')
716+
patterns = [
717+
r'^if convertToCanonical\(LmodVersion\(\)\) >= convertToCanonical\("8\.2\.8"\) then\n' +
718+
r'\s*extensions\("bar/0.0,barbar/0.0,ls,toy/0.0"\)\nend$',
719+
]
719720

720721
for pattern in patterns:
721-
self.assertTrue(re.search(pattern, desc, re.M), "Pattern '%s' found in: %s" % (pattern, desc))
722+
regex = re.compile(pattern, re.M)
723+
self.assertTrue(regex.search(desc), "Pattern '%s' found in: %s" % (regex.pattern, desc))
722724

723725
def test_prepend_paths(self):
724726
"""Test generating prepend-paths statements."""

0 commit comments

Comments
 (0)