Commit fcb56561 authored by Nick Mathewson's avatar Nick Mathewson 🎨
Browse files

Merge branch 'ticket32609_squashed'

parents 2693bf47 9ad569c7
......@@ -260,7 +260,10 @@ test: all
shellcheck:
$(top_srcdir)/scripts/maint/checkShellScripts.sh
check-local: check-spaces check-changes check-includes check-best-practices shellcheck check-cocci
check-practracker-unit-test:
$(top_srcdir)/scripts/maint/practracker/test_practracker.sh
check-local: check-spaces check-changes check-includes check-practracker-unit-test check-best-practices shellcheck check-cocci
need-chutney-path:
@if test ! -d "$$CHUTNEY_PATH"; then \
......
o Testing:
- Run the practracker unit tests as part of "make check", and in the
pre-commit git hook. Closes ticket 32609.
......@@ -54,6 +54,17 @@ if [ -e scripts/maint/checkShellScripts.sh ]; then
scripts/maint/checkShellScripts.sh
fi
# Always run the practracker unit tests
PT_DIR=scripts/maint/practracker
if [ -e "${PT_DIR}/test_practracker.sh" ]; then
"${PT_DIR}/test_practracker.sh"
fi
if [ -e scripts/maint/checkSpaceTest.sh ]; then
scripts/maint/checkSpaceTest.sh
fi
if [ ! "$CHECK_FILES" ]; then
echo "No modified tor-owned source files, skipping further checks"
exit 0
......@@ -75,13 +86,9 @@ fi
# Only call practracker if ${PT_DIR}/.enable_practracker_in_hooks exists
# We do this check so that we can enable practracker in hooks in master, and
# disable it on maint branches
PT_DIR=scripts/maint/practracker
if [ -e "${PT_DIR}/practracker.py" ]; then
if [ -e "${PT_DIR}/.enable_practracker_in_hooks" ]; then
if ! python3 "${PT_DIR}/practracker.py" "$workdir"; then
exit 1
fi
python3 "${PT_DIR}/practracker.py" "$workdir"
fi
fi
......
......@@ -13,6 +13,10 @@
file in each directory. This file contains empty lines, #-prefixed
comments, filenames (like "lib/foo/bar.h") and file globs (like lib/*/*.h)
for files that are permitted.
The script exits with an error if any non-permitted includes are found.
.may_include files that contain "!advisory" are considered advisory.
Advisory .may_include files only result in warnings, rather than errors.
"""
......
......@@ -5,6 +5,9 @@
# include "permitted.h"
#include "ext/good.c"
#include "bad.c"
int
i_am_a_function(void)
{
......
problem file-size a.c 38
problem include-count a.c 4
problem file-size a.c 41
problem include-count a.c 6
problem function-size a.c:i_am_a_function() 9
problem function-size a.c:another_function() 12
problem dependency-violation a.c 3
problem dependency-violation a.c 4
problem file-size b.c 15
problem function-size b.c:foo() 4
problem function-size b.c:bar() 5
......
problem file-size a.c 40 -> 38
problem file-size a.c 45 -> 41
problem file-size z.c 100 -> 0
problem file-size a.c 40
problem include-count a.c 4
problem file-size a.c 45
problem include-count a.c 6
# this problem will produce an error
problem function-size a.c:i_am_a_function() 8
# this problem will produce a warning
......@@ -12,7 +12,7 @@ problem file-size b.c 15
problem file-size z.c 100
problem function-size b.c:bar() 5
problem dependency-violation a.c 3
problem dependency-violation a.c 4
problem dependency-violation header.h 3
problem file-size header.h 8
problem include-count header.h 4
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment