aboutsummaryrefslogtreecommitdiffstats
path: root/etc/woodpecker/analysis.sh
diff options
context:
space:
mode:
Diffstat (limited to 'etc/woodpecker/analysis.sh')
-rwxr-xr-xetc/woodpecker/analysis.sh21
1 files changed, 21 insertions, 0 deletions
diff --git a/etc/woodpecker/analysis.sh b/etc/woodpecker/analysis.sh
new file mode 100755
index 0000000..330d140
--- /dev/null
+++ b/etc/woodpecker/analysis.sh
@@ -0,0 +1,21 @@
+#!/bin/sh -e
+
+std="c99"
+
+run_cppcheck() {
+ cppcheck --std="$std" --enable=performance,portability \
+ --force --quiet --inline-suppr --error-exitcode=1 \
+ --max-ctu-depth=8 -j"$(nproc)" \
+ $(make OPT_DEP_DEFAULT="$1" dump_cppflags) \
+ --suppress=varFuncNullUB --suppress=uninitvar \
+ *.c
+}
+
+run_tidy() {
+ checks="$(sed '/^#/d' etc/woodpecker/clang-tidy-checks | paste -d ',' -s)"
+ clang-tidy --warnings-as-errors="*" --checks="$checks" --quiet *.c \
+ -- -std="$std" $(make OPT_DEP_DEFAULT="$1" dump_cppflags)
+}
+
+run_cppcheck "0"; run_cppcheck "1";
+run_tidy "0"; run_tidy "1";