aboutsummaryrefslogtreecommitdiffstats
path: root/etc/woodpecker/analysis.sh
blob: 330d1405715b4e2e9dc690c7ec15d1d6e8577515 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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";