Skip to content

Commit 086e4eb

Browse files
committed
scan: suppress non-error results in quiet mode
When in quiet mode, include in scan only results of error level. Resolves: #413 Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
1 parent 59e9fd4 commit 086e4eb

2 files changed

Lines changed: 17 additions & 1 deletion

File tree

src/pkgcheck/scripts/pkgcheck_scan.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,10 @@ def _default_enabled_checks(namespace, attr):
475475
@scan.bind_delayed_default(1000, "filtered_keywords")
476476
def _default_filtered_keywords(namespace, attr):
477477
"""Enable all keywords to be shown by default."""
478-
setattr(namespace, attr, set(objects.KEYWORDS.values()))
478+
filtered_keywords = set(objects.KEYWORDS.values())
479+
if namespace.verbosity < 0: # quiet mode, include only errors
480+
filtered_keywords = {x for x in filtered_keywords if x.level == "error"}
481+
setattr(namespace, attr, filtered_keywords)
479482

480483

481484
@scan.bind_delayed_default(9999, "restrictions")

tests/scripts/test_pkgcheck_scan.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -486,6 +486,19 @@ def test_scan_restrictions(self, repo):
486486
results = list(self.scan(self.scan_args + ["-r", repo.location, "cat/unknown"]))
487487
assert not results
488488

489+
def test_scan_quiet(self, repo):
490+
# create an ebuild referencing variable in homepage
491+
repo.create_ebuild("cat/pkg-0", homepage="https://example.com/${PN}")
492+
493+
# in non-quiet mode, the result is shown
494+
results = list(self.scan(self.scan_args + ["-r", repo.location]))
495+
assert len(results) == 1
496+
497+
# in quiet mode, the result is suppressed
498+
for arg in ("-q", "--quiet"):
499+
results = list(self.scan(self.scan_args + ["-r", repo.location, arg]))
500+
assert not results
501+
489502
def test_explict_skip_check(self):
490503
"""SkipCheck exceptions are raised when triggered for explicitly enabled checks."""
491504
error = "network checks not enabled"

0 commit comments

Comments
 (0)