mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-28 17:42:39 +00:00
Merge pull request #12096 from malekaifa/fix/sanitizer-summary-write
fix(tools): report sanitizer summary write failures
This commit is contained in:
2 files changed
+12
-3
No files matched your search
@@ -123,13 +123,13 @@ def main(argv=None):
|
||||
try:
|
||||
known = load_known(args.known, args.sanitizer) if args.known else {}
|
||||
text, failing = summarize(args.title, results(args.junit), known, reports(args.junit))
|
||||
if args.summary:
|
||||
with args.summary.open("a", encoding="utf-8") as summary:
|
||||
summary.write(text)
|
||||
except (OSError, ET.ParseError, ValueError) as error:
|
||||
print(f"sanitizer_report: {error}", file=sys.stderr)
|
||||
return 2
|
||||
sys.stdout.write(text)
|
||||
if args.summary:
|
||||
with args.summary.open("a", encoding="utf-8") as summary:
|
||||
summary.write(text)
|
||||
return 1 if failing else 0
|
||||
|
||||
|
||||
|
||||
@@ -107,6 +107,15 @@ class SanitizerReportTests(unittest.TestCase):
|
||||
self.assertEqual(summary.read_text(encoding="utf-8"), "existing\n" + stdout)
|
||||
self.assertTrue(stdout.startswith("### Nightly\n"))
|
||||
|
||||
def test_summary_write_failure_is_reported_without_a_successful_report(self):
|
||||
summary = Path(self.directory.name) / "missing" / "summary.md"
|
||||
code, stdout, stderr = self.run_main(self.write(suite(case("passes"))), "--summary", summary)
|
||||
self.assertEqual(code, 2)
|
||||
self.assertEqual(stdout, "")
|
||||
self.assertIn(summary.name, stderr)
|
||||
self.assertTrue(stderr.startswith("sanitizer_report: "))
|
||||
self.assertNotIn("Traceback", stderr)
|
||||
|
||||
def write_known(self, *lines):
|
||||
return self.write("\n".join(lines) + "\n", "known.txt")
|
||||
|
||||
|
||||
Reference in new issue
Block a user