Skip to content

Commit

Permalink
Switch test examples to expect depends_on
Browse files Browse the repository at this point in the history
  • Loading branch information
Micket committed Apr 5, 2024
1 parent f27a7fc commit d93ba00
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 14 deletions.
16 changes: 8 additions & 8 deletions test/framework/easyblock.py
Original file line number Diff line number Diff line change
Expand Up @@ -730,7 +730,7 @@ def test_make_module_deppaths(self):

def test_make_module_dep(self):
"""Test for make_module_dep"""
init_config(build_options={'silent': True})
init_config(build_options={'silent': True, 'module_depends_on': False})

self.contents = '\n'.join([
'easyblock = "ConfigureMake"',
Expand Down Expand Up @@ -859,7 +859,7 @@ def test_make_module_dep_hmns(self):
regex = re.compile('load.*%s' % mod)
self.assertFalse(regex.search(mod_dep_txt), "Pattern '%s' found in: %s" % (regex.pattern, mod_dep_txt))

regex = re.compile('load.*FFTW/3.3.7')
regex = re.compile('depends.on.*FFTW/3.3.7')
self.assertTrue(regex.search(mod_dep_txt), "Pattern '%s' found in: %s" % (regex.pattern, mod_dep_txt))

def test_make_module_dep_of_dep_hmns(self):
Expand Down Expand Up @@ -1344,27 +1344,27 @@ def test_make_module_step(self):

for (name, ver) in [('GCC', '6.4.0-2.28')]:
if get_module_syntax() == 'Tcl':
regex = re.compile(r'^\s*module load %s\s*$' % os.path.join(name, ver), re.M)
regex = re.compile(r'^\s*depends-on %s\s*$' % os.path.join(name, ver), re.M)
elif get_module_syntax() == 'Lua':
regex = re.compile(r'^\s*load\("%s"\)$' % os.path.join(name, ver), re.M)
regex = re.compile(r'^\s*depends_on\("%s"\)$' % os.path.join(name, ver), re.M)
else:
self.fail("Unknown module syntax: %s" % get_module_syntax())
self.assertTrue(regex.search(txt), "Pattern %s found in %s" % (regex.pattern, txt))

for (name, ver) in [('test', '1.2.3')]:
if get_module_syntax() == 'Tcl':
regex = re.compile(r'^\s*module load %s/.%s\s*$' % (name, ver), re.M)
regex = re.compile(r'^\s*depends-on %s/.%s\s*$' % (name, ver), re.M)
elif get_module_syntax() == 'Lua':
regex = re.compile(r'^\s*load\("%s/.%s"\)$' % (name, ver), re.M)
regex = re.compile(r'^\s*depends_on\("%s/.%s"\)$' % (name, ver), re.M)
else:
self.fail("Unknown module syntax: %s" % get_module_syntax())
self.assertTrue(regex.search(txt), "Pattern %s found in %s" % (regex.pattern, txt))

for (name, ver) in [('OpenMPI', '2.1.2-GCC-6.4.0-2.28')]:
if get_module_syntax() == 'Tcl':
regex = re.compile(r'^\s*module load %s/.?%s\s*$' % (name, ver), re.M)
regex = re.compile(r'^\s*depends-on %s/.?%s\s*$' % (name, ver), re.M)
elif get_module_syntax() == 'Lua':
regex = re.compile(r'^\s*load\("%s/.?%s"\)$' % (name, ver), re.M)
regex = re.compile(r'^\s*depends_on\("%s/.?%s"\)$' % (name, ver), re.M)
else:
self.fail("Unknown module syntax: %s" % get_module_syntax())
self.assertFalse(regex.search(txt), "Pattern '%s' *not* found in %s" % (regex.pattern, txt))
Expand Down
14 changes: 8 additions & 6 deletions test/framework/toy_build.py
Original file line number Diff line number Diff line change
Expand Up @@ -861,18 +861,18 @@ def test_toy_hierarchical(self):
# check that toolchain load is expanded to loads for toolchain dependencies,
# except for the ones that extend $MODULEPATH to make the toy module available
if get_module_syntax() == 'Tcl':
load_regex_template = "load %s"
depends_on_regex_template = "depends-on %s"
elif get_module_syntax() == 'Lua':
load_regex_template = r'load\("%s/.*"\)'
depends_on_regex_template = r'depends_on\("%s/.*"\)'
else:
self.fail("Unknown module syntax: %s" % get_module_syntax())

modtxt = read_file(toy_module_path)
for dep in ['foss', 'GCC', 'OpenMPI']:
load_regex = re.compile(load_regex_template % dep)
load_regex = re.compile(depends_on_regex_template % dep)
self.assertFalse(load_regex.search(modtxt), "Pattern '%s' not found in %s" % (load_regex.pattern, modtxt))
for dep in ['OpenBLAS', 'FFTW', 'ScaLAPACK']:
load_regex = re.compile(load_regex_template % dep)
load_regex = re.compile(depends_on_regex_template % dep)
self.assertTrue(load_regex.search(modtxt), "Pattern '%s' found in %s" % (load_regex.pattern, modtxt))

os.remove(toy_module_path)
Expand Down Expand Up @@ -1727,8 +1727,10 @@ def test_module_only(self):

# make sure load statements for dependencies are included in additional module file generated with --module-only
modtxt = read_file(toy_mod)
self.assertTrue(re.search('load.*intel/2018a', modtxt), "load statement for intel/2018a found in module")
self.assertTrue(re.search('load.*GCC/6.4.0-2.28', modtxt), "load statement for GCC/6.4.0-2.28 found in module")
self.assertTrue(re.search('depends.on.*intel/2018a', modtxt),
"depends on statement for intel/2018a found in module")
self.assertTrue(re.search('depends.on.*GCC/6.4.0-2.28', modtxt),
"depends on statement for GCC/6.4.0-2.28 found in module")

os.remove(toy_mod)

Expand Down

0 comments on commit d93ba00

Please sign in to comment.