Practracker: do not list problems when told to --list-overbroad.

This commit is contained in:
Nick Mathewson 2019-09-18 08:49:57 -04:00
parent d6d3e829dd
commit 25d55fa01e
2 changed files with 16 additions and 0 deletions

View File

@ -224,6 +224,11 @@ def main(argv):
filt.addThreshold(problem.DependencyViolationItem("*.c", int(args.max_dependency_violations)))
filt.addThreshold(problem.DependencyViolationItem("*.h", int(args.max_dependency_violations)))
if args.list_overbroad and args.regen:
print("Cannot use --regen with --list-overbroad",
file=sys.stderr)
sys.exit(1)
# 1) Get all the .c files we care about
files_list = util.get_tor_c_files(TOR_TOPDIR, args.include_dir)
@ -239,6 +244,10 @@ def main(argv):
ProblemVault = problem.ProblemVault(exceptions_file)
problem_file = sys.stdout
if args.list_overbroad:
# If we're listing overbroad exceptions, don't list problems.
problem_file = util.NullFile()
# 2.1) Adjust the exceptions so that we warn only about small problems,
# and produce errors on big ones.
if not (args.regen or args.list_overbroad or args.strict):

View File

@ -41,3 +41,10 @@ def get_tor_c_files(tor_topdir, include_dirs=None):
files_list.append(full_path)
return files_list
class NullFile:
"""A file-like object that we can us to suppress output."""
def __init__(self):
pass
def write(self, s):
pass