From ff4abe755279a3a47cc416ef80dbc900d9a98a19 Mon Sep 17 00:00:00 2001 From: Anders Waldenborg Date: Fri, 3 Jun 2022 10:28:22 +0200 Subject: [PATCH] [scan-build-py] Fix exception on shutdown with sarif-html output format When running scan-build-py's analyze-build script with output format set to sarif & html it wants to print a message on how to look at the defects mentioning the directory name twice. But the path argument was only given once to the logging function, causing "TypeError: not enough arguments for format string" exception. Differential Revision: https://reviews.llvm.org/D126974 --- clang/tools/scan-build-py/lib/libscanbuild/analyze.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/clang/tools/scan-build-py/lib/libscanbuild/analyze.py b/clang/tools/scan-build-py/lib/libscanbuild/analyze.py index 08802de..2633139 100644 --- a/clang/tools/scan-build-py/lib/libscanbuild/analyze.py +++ b/clang/tools/scan-build-py/lib/libscanbuild/analyze.py @@ -357,6 +357,7 @@ def report_directory(hint, keep, output_format): try: yield name finally: + args = (name,) if os.listdir(name): if output_format not in ['sarif', 'sarif-html']: # FIXME: # 'scan-view' currently does not support sarif format. @@ -364,6 +365,7 @@ def report_directory(hint, keep, output_format): elif output_format == 'sarif-html': msg = "Run 'scan-view %s' to examine bug reports or see " \ "merged sarif results at %s/results-merged.sarif." + args = (name, name) else: msg = "View merged sarif results at %s/results-merged.sarif." keep = True @@ -372,7 +374,7 @@ def report_directory(hint, keep, output_format): msg = "Report directory '%s' contains no report, but kept." else: msg = "Removing directory '%s' because it contains no report." - logging.warning(msg, name) + logging.warning(msg, *args) if not keep: os.rmdir(name) -- 2.7.4