Skip to content

Commit d4a94d2

Browse files
committed
Show summary of relevant LLVM test failures
1 parent 0e690d3 commit d4a94d2

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

easybuild/easyblocks/l/llvm.py

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1308,15 +1308,18 @@ def _para_test_step(self, parallel=1):
13081308
self.log.debug(out)
13091309

13101310
ignore_patterns = self.ignore_patterns
1311-
ignored_pattern_matches = 0
1312-
failed_pattern_matches = 0
1311+
num_ignored_pattern_matches = 0
1312+
num_failed_pattern_matches = 0
1313+
relevant_failures = []
13131314
if ignore_patterns:
13141315
for line in out.splitlines():
13151316
if any(line.startswith(f'{x}: ') for x in OUTCOME_FAIL):
13161317
if any(patt in line for patt in ignore_patterns):
13171318
self.log.info("Ignoring test failure: %s", line)
1318-
ignored_pattern_matches += 1
1319-
failed_pattern_matches += 1
1319+
num_ignored_pattern_matches += 1
1320+
else:
1321+
relevant_failures.append(line)
1322+
num_failed_pattern_matches += 1
13201323

13211324
rgx_failed = re.compile(r'^ +Failed +: +([0-9]+)', flags=re.MULTILINE)
13221325
mch = rgx_failed.search(out)
@@ -1345,14 +1348,18 @@ def _para_test_step(self, parallel=1):
13451348
else:
13461349
self.log.info("Ignoring timed out tests as per configuration")
13471350

1348-
if num_failed != failed_pattern_matches:
1351+
if num_failed != num_failed_pattern_matches:
13491352
msg = f"Number of failed tests ({num_failed}) does not match "
1350-
msg += f"Number identified via line-by-line pattern matching: {failed_pattern_matches}"
1353+
msg += f"Number identified via line-by-line pattern matching: {num_failed_pattern_matches}"
13511354
self.log.warning(msg)
13521355

1353-
if num_failed is not None and ignored_pattern_matches:
1354-
self.log.info("Ignored %s failed tests due to ignore patterns", ignored_pattern_matches)
1355-
num_failed -= ignored_pattern_matches
1356+
if num_failed is not None and num_ignored_pattern_matches:
1357+
self.log.info("Ignored %s out of %s failed tests due to ignore patterns",
1358+
num_ignored_pattern_matches, num_failed)
1359+
num_failed -= num_ignored_pattern_matches
1360+
if relevant_failures:
1361+
self.log.info("%s remaining failures considered:\n\t%s",
1362+
num_failed, '\n\t'.join(relevant_failures))
13561363

13571364
return num_failed
13581365

0 commit comments

Comments
 (0)