mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-10 05:03:43 +01:00
Prune the .may_include files a bit; detect unused lines in them
This commit is contained in:
parent
adcd1d8b9a
commit
83a4946e7b
@ -20,8 +20,10 @@ INCLUDE_PATTERN = re.compile(r'\s*#\s*include\s+"([^"]*)"')
|
||||
RULES_FNAME = ".may_include"
|
||||
|
||||
class Rules(object):
|
||||
def __init__(self):
|
||||
def __init__(self, dirpath):
|
||||
self.dirpath = dirpath
|
||||
self.patterns = []
|
||||
self.usedPatterns = set()
|
||||
|
||||
def addPattern(self, pattern):
|
||||
self.patterns.append(pattern)
|
||||
@ -29,6 +31,7 @@ class Rules(object):
|
||||
def includeOk(self, path):
|
||||
for pattern in self.patterns:
|
||||
if fnmatch.fnmatchcase(path, pattern):
|
||||
self.usedPatterns.add(pattern)
|
||||
return True
|
||||
return False
|
||||
|
||||
@ -48,8 +51,13 @@ class Rules(object):
|
||||
#print(fname)
|
||||
self.applyToLines(iter(f), " of {}".format(fname))
|
||||
|
||||
def noteUnusedRules(self):
|
||||
for p in self.patterns:
|
||||
if p not in self.usedPatterns:
|
||||
print("Pattern {} in {} was never used.".format(p, self.dirpath))
|
||||
|
||||
def load_include_rules(fname):
|
||||
result = Rules()
|
||||
result = Rules(os.path.split(fname)[0])
|
||||
with open(fname, 'r') as f:
|
||||
for line in f:
|
||||
line = line.strip()
|
||||
@ -58,12 +66,16 @@ def load_include_rules(fname):
|
||||
result.addPattern(line)
|
||||
return result
|
||||
|
||||
list_unused = False
|
||||
|
||||
for dirpath, dirnames, fnames in os.walk("src"):
|
||||
if ".may_include" in fnames:
|
||||
rules = load_include_rules(os.path.join(dirpath, RULES_FNAME))
|
||||
for fname in fnames:
|
||||
if fname_is_c(fname):
|
||||
rules.applyToFile(os.path.join(dirpath,fname))
|
||||
if list_unused:
|
||||
rules.noteUnusedRules()
|
||||
|
||||
if trouble:
|
||||
err(
|
||||
|
@ -3,9 +3,6 @@ common/*.h
|
||||
lib/*/*.h
|
||||
|
||||
# XXXX These all belong somewhere else
|
||||
ht.h
|
||||
linux_syscalls.inc
|
||||
siphash.h
|
||||
src/ext/timeouts/timeout.c
|
||||
tor_queue.h
|
||||
tor_readpassphrase.h
|
||||
|
@ -9,7 +9,6 @@ lib/encoding/*.h
|
||||
lib/fs/*.h
|
||||
lib/lock/*.h
|
||||
lib/malloc/*.h
|
||||
lib/err/*.h
|
||||
lib/intmath/*.h
|
||||
lib/sandbox/*.h
|
||||
lib/string/*.h
|
||||
|
@ -4,6 +4,7 @@ lib/cc/*.h
|
||||
lib/container/*.h
|
||||
lib/ctime/*.h
|
||||
lib/err/*.h
|
||||
lib/intmath/*.h
|
||||
lib/fs/*.h
|
||||
lib/log/*.h
|
||||
lib/malloc/*.h
|
||||
|
@ -1,16 +1,16 @@
|
||||
orconfig.h
|
||||
|
||||
lib/arch/*.h
|
||||
lib/cc/*.h
|
||||
lib/ctime/*.h
|
||||
lib/container/*.h
|
||||
lib/crypt_ops/*.h
|
||||
lib/intmath/*.h
|
||||
lib/ctime/*.h
|
||||
lib/encoding/*.h
|
||||
lib/err/*.h
|
||||
lib/intmath/*.h
|
||||
lib/log/*.h
|
||||
lib/net/*.h
|
||||
lib/string/*.h
|
||||
lib/testsupport/testsupport.h
|
||||
lib/tls/*.h
|
||||
lib/log/*.h
|
||||
|
||||
ciphers.inc
|
||||
|
Loading…
Reference in New Issue
Block a user