Skip to content

Commit b45c5ab

Browse files
authored
Merge pull request #1 from boegel/fix_ext_skipping
minor fix + enhanced test for skipped extensions
2 parents cd49c19 + a11ea09 commit b45c5ab

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

easybuild/framework/easyblock.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1482,7 +1482,7 @@ def skip_extensions(self):
14821482
self.log.debug("exit code: %s, stdout/err: %s", ec, cmdstdouterr)
14831483
res.append(ext_inst)
14841484
else:
1485-
print_msg("Skipping extension %s" % ext_inst.name, silent=self.silent, log=self.log)
1485+
print_msg("skipping extension %s" % ext_inst.name, silent=self.silent, log=self.log)
14861486

14871487
self.ext_instances = res
14881488

@@ -2156,7 +2156,7 @@ def extensions_step(self, fetch=False):
21562156
# always go back to original work dir to avoid running stuff from a dir that no longer exists
21572157
change_dir(self.orig_workdir)
21582158

2159-
tup = (ext.name, ext.version, idx+1, exts_cnt)
2159+
tup = (ext.name, ext.version or '', idx+1, exts_cnt)
21602160
print_msg("installing extension %s %s (%d/%d)..." % tup, silent=self.silent)
21612161

21622162
if self.dry_run:

test/framework/easyblock.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -822,7 +822,6 @@ def test_extensions_step(self):
822822

823823
def test_skip_extensions_step(self):
824824
"""Test the skip_extensions_step"""
825-
init_config(build_options={'silent': True})
826825

827826
self.contents = cleandoc("""
828827
easyblock = "ConfigureMake"
@@ -835,6 +834,7 @@ def test_skip_extensions_step(self):
835834
"ext1",
836835
("EXT-2", "42", {"source_tmpl": "dummy.tgz"}),
837836
("ext3", "1.1", {"source_tmpl": "dummy.tgz", "modulename": "real_ext"}),
837+
"ext4",
838838
]
839839
exts_filter = ("\
840840
if [ %(ext_name)s == 'ext_2' ] && [ %(ext_version)s == '42' ] && [[ %(src)s == *dummy.tgz ]];\
@@ -849,7 +849,22 @@ def test_skip_extensions_step(self):
849849
eb.builddir = config.build_path()
850850
eb.installdir = config.install_path()
851851
eb.skip = True
852+
853+
self.mock_stdout(True)
852854
eb.extensions_step(fetch=True)
855+
stdout = self.get_stdout()
856+
self.mock_stdout(False)
857+
858+
patterns = [
859+
r"^== skipping extension EXT-2",
860+
r"^== skipping extension ext3",
861+
r"^== installing extension ext1 \(1/2\)\.\.\.",
862+
r"^== installing extension ext4 \(2/2\)\.\.\.",
863+
]
864+
for pattern in patterns:
865+
regex = re.compile(pattern, re.M)
866+
self.assertTrue(regex.search(stdout), "Pattern '%s' found in: %s" % (regex.pattern, stdout))
867+
853868
# 'ext1' should be in eb.ext_instances
854869
eb_exts = [x.name for x in eb.ext_instances]
855870
self.assertTrue('ext1' in eb_exts)

0 commit comments

Comments
 (0)