Skip to content
Snippets Groups Projects
Commit 6adb7047 authored by Florian Schmaus's avatar Florian Schmaus
Browse files

[tools] Update check-format (from Mazstab)

Sync tools/check-format of EMPER and Mazstab by using the newer
Mazstab version of the script.
parent 6e9c20de
No related branches found
No related tags found
1 merge request!275[tools] Update check-format (from Mazstab)
......@@ -15,11 +15,16 @@ SCRIPTDIR="`pwd`";
popd > /dev/null
DEBUG=false
while getopts d OPT; do
VERBOSE=false
while getopts dv OPT; do
case $OPT in
d)
set -x
DEBUG=true
VERBOSE=true
;;
v)
VERBOSE=true
;;
*)
echo "usage: ${0##*/} [-dq} [--] ARGS..."
......@@ -33,19 +38,42 @@ ROOTDIR=$(readlink -f "${SCRIPTDIR}/..")
MAX_PROCS=$(nproc)
CHECKED_FILES_FILE=$(mktemp)
FILES_TO_CHECK_FILE=$(mktemp)
cleanup() {
rm "${FILES_TO_CHECK_FILE}"
}
if ! $DEBUG; then
trap 'rm "${CHECKED_FILES_FILE}"' EXIT
trap cleanup EXIT
fi
cd "${ROOTDIR}"
PRUNE_PATHS=()
PRUNE_PATHS+=(./build*) # Generated files
PRUNE_PATHS+=(./subprojects) # Subprojects, since are under different licenses
PRUNE_PATH_ARG=""
# https://stackoverflow.com/a/12298615/194894
for path in "${PRUNE_PATHS[@]::${#PRUNE_PATHS[@]}-1}"; do
PRUNE_PATH_ARG+="-path ${path} -o "
done
PRUNE_PATH_ARG+="-path ${PRUNE_PATHS[-1]}"
# shellcheck disable=SC2086
find . \( ${PRUNE_PATH_ARG} \) -prune -o \
-type f -regextype posix-extended -regex '.*\.(c|h|cpp|hpp)' -print0 \
> "${FILES_TO_CHECK_FILE}"
if $VERBOSE; then
echo "About to check the following files for correct formatting via clang-format"
tr '\0' '\n' < "${FILES_TO_CHECK_FILE}"
fi
# Note that the --dry-run and --Werror clang-format arguments require
# clang-format 10 or higher. See https://reviews.llvm.org/D68554
find . \( -path '*/\.*' -o -path "./subprojects*" -o -path "./build*" \) -prune -o \
-type f -regextype posix-extended -regex '.*\.(c|h|cpp|hpp)' -print0 |\
tee "${CHECKED_FILES_FILE}" |\
xargs --null --max-args=3 --max-procs="${MAX_PROCS}" \
clang-format --style=file --dry-run -Werror
xargs --null --max-args=3 --max-procs="${MAX_PROCS}" \
clang-format --style=file --dry-run -Werror \
< "${FILES_TO_CHECK_FILE}"
FILE_COUNT=$(<"${CHECKED_FILES_FILE}" tr -cd '\0' | wc -c)
FILE_COUNT=$(<"${FILES_TO_CHECK_FILE}" tr -cd '\0' | wc -c)
echo "Checked ${FILE_COUNT} files for format violations"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment