From 9566df31e8c0297c947d065c07523b191554fe6c Mon Sep 17 00:00:00 2001 From: Vivek Kumar Dutta <vivek.dutta@iopsys.eu> Date: Thu, 22 Aug 2024 08:59:45 +0530 Subject: [PATCH] Added clang analysis using cppcheck --- docker/code-analysis/Dockerfile | 2 +- docker/code-analysis/more_test.sh | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/docker/code-analysis/Dockerfile b/docker/code-analysis/Dockerfile index fcf0646..3eb95bd 100644 --- a/docker/code-analysis/Dockerfile +++ b/docker/code-analysis/Dockerfile @@ -245,7 +245,7 @@ RUN cd /opt/dev && \ ENV PATH /infer/bin:${PATH} # Install python ubus module and valgrind-ci -RUN pip3 install ubus ValgrindCI +RUN pip3 install ubus ValgrindCI codechecker WORKDIR /builds/iopsys/ diff --git a/docker/code-analysis/more_test.sh b/docker/code-analysis/more_test.sh index c66692d..4ca71d0 100755 --- a/docker/code-analysis/more_test.sh +++ b/docker/code-analysis/more_test.sh @@ -2,7 +2,7 @@ log() { - echo "# $* ..." + echo "# $* #" } exec_cmd() @@ -33,9 +33,16 @@ generate_compilation_db() run_cppcheck_validation() { if [ -f "compile_commands.json" ]; then - exec_cmd cppcheck --error-exitcode=1 --addon=threadsafety --addon=cert --inline-suppr ${CPPCHECK_OPTIONS} --project=compile_commands.json + exec_cmd cppcheck --error-exitcode=1 --addon=threadsafety --addon=cert -i ./test --inline-suppr ${CPPCHECK_OPTIONS} --project=compile_commands.json else - exec_cmd cppcheck --error-exitcode=1 --addon=threadsafety --addon=cert --inline-suppr ${CPPCHECK_OPTIONS} ${SOURCE_FOLDER} + exec_cmd cppcheck --error-exitcode=1 --addon=threadsafety --addon=cert -i ./test --inline-suppr ${CPPCHECK_OPTIONS} ${SOURCE_FOLDER} + fi +} + +run_cppcheck_clang_validation() +{ + if [ -f "compile_commands.json" ]; then + exec_cmd cppcheck --error-exitcode=1 --clang -i ./test --inline-suppr ${CPPCHECK_OPTIONS} --project=compile_commands.json fi } @@ -53,6 +60,7 @@ main() # Install pre-req if present/defined if [ -f "./gitlab-ci/install-dependencies.sh" ]; then + log "Installing prerequisites for compilation" exec_cmd ./gitlab-ci/install-dependencies.sh fi @@ -60,11 +68,13 @@ main() generate_compilation_db # TODO: Run gcc fanalyzer analysis - # TODO: Run clag analysis # Run cppcheck with compilation-db run_cppcheck_validation + # Run clag analysis + run_cppcheck_clang_validation + # Run infer analysis run_infer_analysis } -- GitLab