David Goulet ae9042abbf rust: Remove Rust support from tree 3 years ago
..
testdata ec965ba98b practracker: integration tests for --regen and --regen-overbroad 4 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 4f4728a004 Merge branch 'maint-0.4.4' into maint-0.4.5 3 years ago
includes.py e5b234e358 Improve fname_is_c func in pratracker/includes.py 3 years ago
metrics.py 674a821fbb Stop assuming that /usr/bin/python exists 4 years ago
practracker.py 7ba7f9c0de Merge branch 'maint-0.4.3' 4 years ago
practracker_tests.py 674a821fbb Stop assuming that /usr/bin/python exists 4 years ago
problem.py 2542a24b63 practracker: add a --regen-overbroad option to remove overbroad exceptions. 4 years ago
test_practracker.sh bbbeed942f Correct syntax & formatting in test_pratracker.sh 3 years ago
util.py ae9042abbf rust: Remove Rust support from tree 3 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".