Skip to content

Commit a613f75

Browse files
dkruppbruntib
authored andcommitted
Don't query binary version if analyzer binary is not found
Don't print missing analyzer warning unless the analyzer list is explicitly provided
1 parent bd301ee commit a613f75

File tree

6 files changed

+13
-9
lines changed

6 files changed

+13
-9
lines changed

analyzer/codechecker_analyzer/analyzer.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,8 @@ def perform_analysis(args, skip_handlers, rs_handler: ReviewStatusHandler,
355355
end_time = time.time()
356356
LOG.info("Analysis length: %s sec.", end_time - start_time)
357357

358-
analyzer_types.print_unsupported_analyzers(errored)
358+
if args.analyzers:
359+
analyzer_types.print_unsupported_analyzers(errored)
359360

360361
metadata_tool['timestamps'] = {'begin': start_time,
361362
'end': end_time}

analyzer/codechecker_analyzer/analyzers/analyzer_types.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ def is_ignore_conflict_supported():
115115
def print_unsupported_analyzers(errored):
116116
""" Print error messages which occured during analyzer detection. """
117117
for analyzer_binary, reason in errored:
118-
LOG.warning("Analyzer '%s' is enabled but CodeChecker is failed to "
118+
LOG.warning("Analyzer '%s' is enabled but CodeChecker failed to "
119119
"execute analysis with it: '%s'. Please check your "
120120
"'PATH' environment variable and the "
121121
"'config/package_layout.json' file!",

analyzer/codechecker_analyzer/analyzers/clangtidy/analyzer.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -238,11 +238,11 @@ def analyzer_binary(cls):
238238

239239
@classmethod
240240
def get_binary_version(cls, details=False) -> str:
241+
if not cls.analyzer_binary():
242+
return None
241243
# No need to LOG here, we will emit a warning later anyway.
242244
environ = analyzer_context.get_context().get_env_for_bin(
243245
cls.analyzer_binary())
244-
if not cls.analyzer_binary():
245-
return None
246246

247247
version = [cls.analyzer_binary(), '--version']
248248
try:

analyzer/codechecker_analyzer/analyzers/cppcheck/analyzer.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,10 @@ def analyzer_binary(cls):
8585
def get_binary_version(cls, details=False) -> str:
8686
""" Get analyzer version information. """
8787
# No need to LOG here, we will emit a warning later anyway.
88-
environ = analyzer_context.get_context().get_env_for_bin(
89-
cls.analyzer_binary())
9088
if not cls.analyzer_binary():
9189
return None
90+
environ = analyzer_context.get_context().get_env_for_bin(
91+
cls.analyzer_binary())
9292
version = [cls.analyzer_binary(), '--version']
9393
try:
9494
output = subprocess.check_output(version,

analyzer/codechecker_analyzer/analyzers/gcc/analyzer.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -153,11 +153,11 @@ def get_binary_version(cls, details=False) -> str:
153153
"""
154154
Return the analyzer version.
155155
"""
156-
environ = analyzer_context.get_context().get_env_for_bin(
157-
cls.analyzer_binary())
158156
# No need to LOG here, we will emit a warning later anyway.
159157
if not cls.analyzer_binary():
160158
return None
159+
environ = analyzer_context.get_context().get_env_for_bin(
160+
cls.analyzer_binary())
161161
if details:
162162
version = [cls.analyzer_binary(), '--version']
163163
else:

analyzer/codechecker_analyzer/cmd/checkers.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,10 @@ def __print_checker_config(args: argparse.Namespace):
555555
if rows:
556556
print(twodim.to_str(args.output_format, header, rows))
557557

558-
analyzer_types.print_unsupported_analyzers(errored)
558+
# Don't print this warning unless the analyzer list is
559+
# given by the user.
560+
if args.analyzers:
561+
analyzer_types.print_unsupported_analyzers(errored)
559562

560563
if analyzer_failures:
561564
LOG.error("Failed to get checker configuration options for '%s' "

0 commit comments

Comments
 (0)