Nick Mathewson e3f7e5e65e practracker: make filename terminology uniform 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 e3f7e5e65e practracker: make filename terminology uniform 4 years ago
exceptions.txt cc48eff2d3 Merge branch 'ticket31176' into ticket31176_merged 4 years ago
includes.py e3f7e5e65e practracker: make filename terminology uniform 4 years ago
metrics.py 9a1e9b1d6c Teach practracker about .h files 4 years ago
practracker.py e3f7e5e65e practracker: make filename terminology uniform 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".