Nick Mathewson ffd857bbe1 Merge remote-tracking branch 'tor-github/pr/1308' 5 years ago
..
testdata 1c67d261d5 practracker: Integration test for --list-overbroad 5 years ago
.enable_practracker_in_hooks 71e5af0221 pre-push hook: Only run practracker when a special file is present 5 years ago
README e3f7e5e65e practracker: make filename terminology uniform 5 years ago
exceptions.txt ffd857bbe1 Merge remote-tracking branch 'tor-github/pr/1308' 5 years ago
includes.py e3f7e5e65e practracker: make filename terminology uniform 5 years ago
metrics.py 03040903e6 practracker: handle empty files. 5 years ago
practracker.py 7157d80c6f Merge branch 'tor-github/pr/1337' 5 years ago
practracker_tests.py 5d98b54725 Port practracker unit tests to python 3 5 years ago
problem.py d1ffac3f8a practracker: An exception is "used" even when it is violated. 5 years ago
test_practracker.sh 1c67d261d5 practracker: Integration test for --list-overbroad 5 years ago
util.py 25d55fa01e Practracker: do not list problems when told to --list-overbroad. 5 years ago

README

Practracker is a simple python tool that keeps track of places where
our code is ugly, and tries to warn us about new ones or ones that
get worse.

Right now, practracker looks for the following kinds of
best-practices violations:

.c files greater than 3000 lines long
.h files greater than 500 lines long
.c files with more than 50 includes
.h files with more than 15 includes

All files that include a local header not listed in a .may_include
file in the same directory, when that .may_include file has an
"!advisory" marker.

The list of current violations is tracked in exceptions.txt; slight
deviations of the current exceptions cause warnings, whereas large
ones cause practracker to fail.

For usage information, run "practracker.py --help".