Nick Mathewson 5b3741e05a Document new practracker violation types, and add a practracker readme 4 years ago
..
testdata 8d3f3e5d30 Practracker: add an integration test. 4 years ago
.enable_practracker_in_hooks 71e5af0221 pre-push hook: Only run practracker when a special file is present 4 years ago
README 5b3741e05a Document new practracker violation types, and add a practracker readme 4 years ago
exceptions.txt cc48eff2d3 Merge branch 'ticket31176' into ticket31176_merged 4 years ago
includes.py 2a3c727dfe Make includes interface more like the rest of practracker 4 years ago
metrics.py 9a1e9b1d6c Teach practracker about .h files 4 years ago
practracker.py 5b3741e05a Document new practracker violation types, and add a practracker readme 4 years ago
practracker_tests.py 5d98b54725 Port practracker unit tests to python 3 4 years ago
problem.py cc48eff2d3 Merge branch 'ticket31176' into ticket31176_merged 4 years ago
test_practracker.sh 1440c2cb34 Adjust test_practracker.sh to work on windows 4 years ago
util.py 9a1e9b1d6c Teach practracker about .h files 4 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".