1 # Welcome to the exceptions file for Tor's best-practices tracker!
3 # Each line of this file represents a single violation of Tor's best
4 # practices -- typically, a violation that we had before practracker.py
7 # There are three kinds of problems that we recognize right now:
8 # function-size -- a function of more than 100 lines.
9 # file-size -- a .c file of more than 3000 lines, or a .h
10 # file with more than 500 lines.
11 # include-count -- a .c file with more than 50 #includes,
12 # or a .h file with more than 15 #includes.
13 # dependency-violation -- a file includes a header that it should
14 # not, according to an advisory .may_include file.
16 # Each line below represents a single exception that practracker should
17 # _ignore_. Each line has four parts:
18 # 1. The word "problem".
19 # 2. The kind of problem.
20 # 3. The location of the problem: either a filename, or a
21 # filename:functionname pair.
22 # 4. The magnitude of the problem to ignore.
24 # So for example, consider this line:
25 # problem file-size /src/core/or/connection_or.c 3200
27 # It tells practracker to allow the mentioned file to be up to 3200 lines
28 # long, even though ordinarily it would warn about any file with more than
31 # You can either edit this file by hand, or regenerate it completely by
32 # running `make practracker-regen`.
34 # Remember: It is better to fix the problem than to add a new exception!
36 problem file-size a.c 41
37 problem include-count a.c 6
38 problem function-size a.c:i_am_a_function() 9
39 problem function-size a.c:another_function() 12
40 problem dependency-violation a.c 4
41 problem file-size b.c 15
42 problem function-size b.c:foo() 4
43 problem function-size b.c:bar() 5
44 problem file-size header.h 8
45 problem include-count header.h 4
46 problem dependency-violation header.h 3