Skip to content
Snippets Groups Projects
Unverified Commit 330717f0 authored by teor's avatar teor
Browse files

scripts/cocci: Add check_cocci_parse.sh and default exceptions

Add check_cocci_parse.sh, which is a thin wrapper around
try_parse.sh. Add a default exceptions file, and use it in
check_cocci_parse.sh.

Part of 31919.
parent 87ee49e0
Branches
Tags
No related merge requests found
#!/bin/sh
# If we have coccinelle installed, run try_parse.sh on every filename passed
# as an argument. Uses the default coccinelle exceptions file, if
# $TOR_COCCI_EXCEPTIONS_FILE is not set.
#
# Use TOR_COCCI_EXCEPTIONS_FILE=/dev/null check_cocci_parse.sh to disable
# the default exception file.
#
# If spatch is not installed, remind the user to install it, but exit with
# a success error status.
scripts_cocci="$(dirname "$0")"
top="$scripts_cocci/../.."
try_parse="$scripts_cocci/try_parse.sh"
exitcode=0
export TOR_COCCI_EXCEPTIONS_FILE="${TOR_COCCI_EXCEPTIONS_FILE:-$scripts_cocci/exceptions.txt}"
if ! command -v spatch; then
echo "Install coccinelle's spatch to check cocci C parsing!"
exit "$exitcode"
fi
"$try_parse" "$@"
exitcode=$?
if test "$exitcode" != 0 ; then
echo "Please fix these cocci parsing errors in the above files"
echo "Set VERBOSE=1 for more details"
echo "Try running test-operator-cleanup or 'make autostyle-operators'"
echo "As a last resort, you can modify scripts/coccinelle/exceptions.txt"
fi
exit "$exitcode"
# A list of exception patterns for check_cocci_parse.sh
# Passed to 'grep -f'
src/lib/cc/compat_compiler.h
src/lib/container/handles.h
src/lib/container/map.c
src/lib/container/map.h
src/lib/container/order.c
src/lib/crypt_ops/crypto_rand.c
src/lib/fs/files.h
src/lib/log/util_bug.c
src/lib/pubsub/pubsub_macros.h
src/lib/smartlist_core/smartlist_foreach.h
src/lib/testsupport/testsupport.h
src/lib/tls/tortls.h
src/lib/tls/tortls_openssl.c
src/lib/tls/x509.h
src/lib/version/version.c
src/core/mainloop/connection.c
src/core/or/reasons.c
src/feature/dirclient/dirclient.c
src/feature/nodelist/networkstatus.c
src/test/test_address.c
src/test/test_hs_cache.c
src/test/test_hs_descriptor.c
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment