[tor-commits] [tor/master] Practracker: do not list problems when told to --list-overbroad.

asn at torproject.org asn at torproject.org
Wed Sep 25 11:20:15 UTC 2019


commit 25d55fa01ebc8d9bc8cd52672605636a9261ddf5
Author: Nick Mathewson <nickm at torproject.org>
Date:   Wed Sep 18 08:49:57 2019 -0400

    Practracker: do not list problems when told to --list-overbroad.
---
 scripts/maint/practracker/practracker.py | 9 +++++++++
 scripts/maint/practracker/util.py        | 7 +++++++
 2 files changed, 16 insertions(+)

diff --git a/scripts/maint/practracker/practracker.py b/scripts/maint/practracker/practracker.py
index ce9c5f5d8..6f1a771ef 100755
--- a/scripts/maint/practracker/practracker.py
+++ b/scripts/maint/practracker/practracker.py
@@ -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):
diff --git a/scripts/maint/practracker/util.py b/scripts/maint/practracker/util.py
index 4b4256552..df629110c 100644
--- a/scripts/maint/practracker/util.py
+++ b/scripts/maint/practracker/util.py
@@ -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





More information about the tor-commits mailing list