Skip to content

Commit b8f90ed

Browse files
authored
Merge pull request #4471 from bruntib/fix_checkers_label_command
[fix] CodeChecker checkers --label option:value doesn't list checkers
2 parents 8323e90 + 300acda commit b8f90ed

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

analyzer/codechecker_analyzer/cmd/checkers.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -243,13 +243,14 @@ def __get_detailed_checker_info(
243243
if args.profile not in available_profiles:
244244
LOG.error("Checker profile '%s' does not exist!",
245245
args.profile)
246-
LOG.error("To list available profiles, use '--profile list'.")
246+
LOG.error("To list available profiles, use '--profile' "
247+
"without argument.")
247248
sys.exit(1)
248249

249250
profile_checkers.append((f'profile:{args.profile}', True))
250251

251252
if 'label' in args:
252-
profile_checkers.extend((label, True) for label in args.label)
253+
profile_checkers.append((args.label, True))
253254

254255
if 'severity' in args:
255256
profile_checkers.append((f'severity:{args.severity}', True))

analyzer/tests/functional/cmdline/test_cmdline.py

+25
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,31 @@ def test_checkers_profile(self):
128128
self.assertEqual(0, out[0])
129129
self.assertEqual(True, "default" in out[1])
130130

131+
def test_checkers_label(self):
132+
""" Listing checkers with given label. """
133+
134+
checkers_cmd = [env.codechecker_cmd(), 'checkers', '--label']
135+
exit_code, out, _ = run_cmd(checkers_cmd)
136+
self.assertEqual(0, exit_code)
137+
self.assertIn('profile', out)
138+
self.assertIn('severity', out)
139+
self.assertIn('guideline', out)
140+
141+
checkers_cmd = [
142+
env.codechecker_cmd(), 'checkers', '--label', 'severity']
143+
exit_code, out, _ = run_cmd(checkers_cmd)
144+
self.assertEqual(0, exit_code)
145+
self.assertIn('HIGH', out)
146+
self.assertIn('MEDIUM', out)
147+
self.assertIn('LOW', out)
148+
149+
checkers_cmd = [
150+
env.codechecker_cmd(), 'checkers', '--label', 'severity:HIGH']
151+
exit_code, out, _ = run_cmd(checkers_cmd)
152+
self.assertEqual(0, exit_code)
153+
self.assertIn('core.DivideZero', out)
154+
self.assertIn('core.CallAndMessage', out)
155+
131156
def test_analyzers(self):
132157
""" Listing available analyzers. """
133158

0 commit comments

Comments
 (0)