aboutgitcodebugslistschat
diff options
context:
space:
mode:
authorDavid Gibson <david@gibson.dropbear.id.au>2026-05-12 15:52:56 +1000
committerStefano Brivio <sbrivio@redhat.com>2026-05-16 15:47:11 +0200
commit9b1ef47c1c27b7637e1442934f19fcdcdc3e1628 (patch)
tree536b4cf5fcbdade722c60bd4ebd11098fc47c9d2
parentbf639709726346f24362b09c065e39ae2cf73ea6 (diff)
downloadpasst-9b1ef47c1c27b7637e1442934f19fcdcdc3e1628.tar
passt-9b1ef47c1c27b7637e1442934f19fcdcdc3e1628.tar.gz
passt-9b1ef47c1c27b7637e1442934f19fcdcdc3e1628.tar.bz2
passt-9b1ef47c1c27b7637e1442934f19fcdcdc3e1628.tar.lz
passt-9b1ef47c1c27b7637e1442934f19fcdcdc3e1628.tar.xz
passt-9b1ef47c1c27b7637e1442934f19fcdcdc3e1628.tar.zst
passt-9b1ef47c1c27b7637e1442934f19fcdcdc3e1628.zip
pesto: Run static checkers on pesto sources
Update the Makefile to run both clang-tidy and cppcheck on pesto as well as on passt and passt-repair. This requires a couple of secondary corrections: * pesto.c had an inline suppression that is no longer correct now that the protocol version has been bumped to 1. Remove it. * We were globally suppressing the unusedStructMember because it hit many false positives on both passt and passt-repair. It doesn't in pesto, meaning it instead creates an unusedSuppression warning. Apply the suppression as a flag override for passt and passt-repair, instead of globally. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
-rw-r--r--Makefile19
-rw-r--r--pesto.c1
2 files changed, 16 insertions, 4 deletions
diff --git a/Makefile b/Makefile
index c975841..c4af57b 100644
--- a/Makefile
+++ b/Makefile
@@ -193,7 +193,7 @@ docs: README.md
CLANG_TIDY = clang-tidy
CLANG_TIDY_FLAGS = -DCLANG_TIDY_58992
-clang-tidy: passt.clang-tidy passt-repair.clang-tidy
+clang-tidy: passt.clang-tidy passt-repair.clang-tidy pesto.clang-tidy
.PHONY: %.clang-tidy
%.clang-tidy:
@@ -201,6 +201,7 @@ clang-tidy: passt.clang-tidy passt-repair.clang-tidy
passt.clang-tidy: $(PASST_SRCS) $(PASST_HEADERS) seccomp.h
passt-repair.clang-tidy: $(PASST_REPAIR_SRCS) $(PASST_REPAIR_HEADERS) seccomp_repair.h
+pesto.clang-tidy: $(PESTO_SRCS) $(PESTO_HEADERS) seccomp_pesto.h
CPPCHECK = cppcheck
CPPCHECK_FLAGS = --std=c11 --error-exitcode=1 --enable=all --force \
@@ -212,14 +213,26 @@ CPPCHECK_FLAGS = --std=c11 --error-exitcode=1 --enable=all --force \
echo ""; \
fi) \
--suppress=missingIncludeSystem \
- --suppress=unusedStructMember \
-D CPPCHECK_6936
-cppcheck: passt.cppcheck passt-repair.cppcheck
+cppcheck: passt.cppcheck passt-repair.cppcheck pesto.cppcheck
.PHONY: %.cppcheck
%.cppcheck:
$(CPPCHECK) $(CPPCHECK_FLAGS) $(BASE_CPPFLAGS) $^
+passt.cppcheck: BASE_CPPFLAGS += -UPESTO
+passt.cppcheck: CPPCHECK_FLAGS += --suppress=unusedStructMember
passt.cppcheck: $(PASST_SRCS) $(PASST_HEADERS) seccomp.h
+
+passt-repair.cppcheck: CPPCHECK_FLAGS += --suppress=unusedStructMember
passt-repair.cppcheck: $(PASST_REPAIR_SRCS) $(PASST_REPAIR_HEADERS) seccomp_repair.h
+
+pesto.cppcheck: BASE_CPPFLAGS += -DPESTO
+pesto.cppcheck: CPPCHECK_FLAGS += --suppress=unusedFunction:bitmap.c
+pesto.cppcheck: CPPCHECK_FLAGS += --suppress=unusedFunction:inany.h
+pesto.cppcheck: CPPCHECK_FLAGS += --suppress=unusedFunction:inany.c
+pesto.cppcheck: CPPCHECK_FLAGS += --suppress=unusedFunction:ip.h
+pesto.cppcheck: CPPCHECK_FLAGS += --suppress=unusedFunction:serialise.c
+pesto.cppcheck: CPPCHECK_FLAGS += --suppress=staticFunction:fwd_rule.c
+pesto.cppcheck: $(PESTO_SRCS) $(PESTO_HEADERS) seccomp_pesto.h
diff --git a/pesto.c b/pesto.c
index f4d752b..eeaf274 100644
--- a/pesto.c
+++ b/pesto.c
@@ -410,7 +410,6 @@ int main(int argc, char **argv)
s_version, PESTO_PROTOCOL_VERSION);
}
- /* cppcheck-suppress knownConditionTrueFalse */
if (!s_version) {
if (PESTO_PROTOCOL_VERSION)
die("Unsupported experimental server protocol");