Skip to content

Commit e0d4cbe

Browse files
committed
Don't fail if generating test reports
1 parent 362e646 commit e0d4cbe

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

easybuild/main.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -780,6 +780,9 @@ def main(args=None, logfile=None, do_build=None, testing=False, modtool=None, pr
780780
stop_logging(logfile, logtostdout=options.logtostdout)
781781
if is_successful:
782782
cleanup(logfile, eb_tmpdir, testing, silent=options.terse)
783+
if options.dump_test_report or options.upload_test_report:
784+
# Generation test reports is successful even when software failed to build
785+
return EasyBuildExit.SUCCESS
783786
return EasyBuildExit.SUCCESS if is_successful else EasyBuildExit.ERROR
784787

785788

test/framework/options.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6755,13 +6755,22 @@ def test_keep_going(self):
67556755
self.assertRegex(outtxt, r'\[FAILED\] *toy/broken')
67566756
self.assertRegex(outtxt, r'\[SKIPPED\] *toy/working')
67576757

6758+
args.append('--keep-going')
67586759
with self.mocked_stdout_stderr():
6759-
outtxt, exit_code = self.eb_main(args + ['--keep-going'], do_build=True, raise_error=True,
6760+
outtxt, exit_code = self.eb_main(args, do_build=True, raise_error=True,
67606761
return_exit_code=True)
67616762
self.assertNotEqual(exit_code, 0)
67626763
self.assertRegex(outtxt, r'\[FAILED\] *toy/broken')
67636764
self.assertRegex(outtxt, r'\[SUCCESS\] *toy/working')
67646765

6766+
args.append(f"--dump-test-report={os.path.join(tempfile.gettempdir(), 'report.md')}")
6767+
with self.mocked_stdout_stderr():
6768+
outtxt, exit_code = self.eb_main(args, do_build=True, raise_error=True,
6769+
return_exit_code=True)
6770+
self.assertEqual(exit_code, 0) # Creating a test report returns success even on build failure
6771+
self.assertRegex(outtxt, r'\[FAILED\] *toy/broken')
6772+
self.assertRegex(outtxt, r'\[SUCCESS\] *toy/working')
6773+
67656774
def test_skip_extensions(self):
67666775
"""Test use of --skip-extensions."""
67676776
topdir = os.path.abspath(os.path.dirname(__file__))

0 commit comments

Comments
 (0)