Nick Mathewson e7565855c0 Merge branch 'ticket31578' into ticket31578_merged 5 years ago
..
testdata c710518825 Add integration tests for new practracker features 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 796a9b37ea Merge branch 'tor-github/pr/1264' 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 e7565855c0 Merge branch 'ticket31578' into ticket31578_merged 5 years ago
practracker_tests.py 5d98b54725 Port practracker unit tests to python 3 5 years ago
problem.py cc48eff2d3 Merge branch 'ticket31176' into ticket31176_merged 5 years ago
test_practracker.sh e7565855c0 Merge branch 'ticket31578' into ticket31578_merged 5 years ago
util.py 3a2964577e practracker: Fix indentation in util.py 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".