From: David Gibson <david@gibson.dropbear.id.au>
To: Stefano Brivio <sbrivio@redhat.com>, passt-dev@passt.top
Cc: Cleber Rosa <crosa@redhat.com>,
David Gibson <david@gibson.dropbear.id.au>
Subject: [PATCH 3/4] test: Exeter based static tests
Date: Fri, 19 Jul 2024 16:59:06 +1000 [thread overview]
Message-ID: <20240719065907.3539211-4-david@gibson.dropbear.id.au> (raw)
In-Reply-To: <20240719065907.3539211-1-david@gibson.dropbear.id.au>
Introduce some trivial testcases based on the exeter library. These run
the C static checkers, which is redundant with the included Avocado json
file, but are useful as an example. We extend the make avocado target to
generate Avocado job files from the exeter tests and include them in the
test run.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
---
test/.gitignore | 1 +
test/Makefile | 18 ++++++++++++++----
test/build/.gitignore | 1 +
test/build/static_checkers.exeter | 17 +++++++++++++++++
4 files changed, 33 insertions(+), 4 deletions(-)
create mode 100644 test/build/.gitignore
create mode 100755 test/build/static_checkers.exeter
diff --git a/test/.gitignore b/test/.gitignore
index a79d5b6f..bded349b 100644
--- a/test/.gitignore
+++ b/test/.gitignore
@@ -11,3 +11,4 @@ nstool
guest-key
guest-key.pub
/venv/
+/exeter/
diff --git a/test/Makefile b/test/Makefile
index ff8dc63d..afc1334d 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -52,7 +52,7 @@ UBUNTU_NEW_IMGS = xenial-server-cloudimg-powerpc-disk1.img \
jammy-server-cloudimg-s390x.img
UBUNTU_IMGS = $(UBUNTU_OLD_IMGS) $(UBUNTU_NEW_IMGS)
-DOWNLOAD_ASSETS = mbuto podman \
+DOWNLOAD_ASSETS = exeter mbuto podman \
$(DEBIAN_IMGS) $(FEDORA_IMGS) $(OPENSUSE_IMGS) $(UBUNTU_IMGS)
TESTDATA_ASSETS = small.bin big.bin medium.bin
LOCAL_ASSETS = mbuto.img mbuto.mem.img podman/bin/podman QEMU_EFI.fd \
@@ -63,6 +63,10 @@ LOCAL_ASSETS = mbuto.img mbuto.mem.img podman/bin/podman QEMU_EFI.fd \
ASSETS = $(DOWNLOAD_ASSETS) $(LOCAL_ASSETS)
+EXETER_JOBS = build/static_checkers.json
+
+AVOCADO_JOBS = $(EXETER_JOBS) avocado/static_checkers.json
+
SYSTEM_PYTHON = python3
VENV = venv
PYTHON = $(VENV)/bin/python3
@@ -77,6 +81,9 @@ assets: $(ASSETS)
pull-%: %
git -C $* pull
+exeter:
+ git clone https://gitlab.com/dgibson/exeter.git
+
mbuto:
git clone git://mbuto.sh/mbuto
@@ -127,9 +134,12 @@ venv:
$(SYSTEM_PYTHON) -m venv $(VENV)
$(PIP) install avocado-framework
+%.json: %.exeter pull-exeter
+ cd ..; test/$< --avocado > test/$@
+
.PHONY: avocado
-avocado: venv
- cd .. && test/$(AVOCADO) run test/avocado
+avocado: venv $(AVOCADO_JOBS)
+ cd .. && test/$(AVOCADO) run $(AVOCADO_JOBS:%=test/%)
check: assets
./run
@@ -142,7 +152,7 @@ clean:
rm -f $(LOCAL_ASSETS)
rm -rf test_logs
rm -f prepared-*.qcow2 prepared-*.img
- rm -rf $(VENV)
+ rm -rf $(VENV) $(EXETER_JOBS)
realclean: clean
rm -rf $(DOWNLOAD_ASSETS)
diff --git a/test/build/.gitignore b/test/build/.gitignore
new file mode 100644
index 00000000..a6c57f5f
--- /dev/null
+++ b/test/build/.gitignore
@@ -0,0 +1 @@
+*.json
diff --git a/test/build/static_checkers.exeter b/test/build/static_checkers.exeter
new file mode 100755
index 00000000..c929615f
--- /dev/null
+++ b/test/build/static_checkers.exeter
@@ -0,0 +1,17 @@
+#! /bin/sh
+
+source $(dirname $0)/../exeter/sh/exeter.sh
+
+cppcheck () {
+ make cppcheck
+}
+exeter_register cppcheck
+
+clang_tidy () {
+ make clang-tidy
+}
+exeter_register clang_tidy
+
+exeter_main "$@"
+
+
--
@@ -0,0 +1,17 @@
+#! /bin/sh
+
+source $(dirname $0)/../exeter/sh/exeter.sh
+
+cppcheck () {
+ make cppcheck
+}
+exeter_register cppcheck
+
+clang_tidy () {
+ make clang-tidy
+}
+exeter_register clang_tidy
+
+exeter_main "$@"
+
+
--
2.45.2
next prev parent reply other threads:[~2024-07-19 6:59 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-19 6:59 [PATCH 0/4] RFC: Proof-of-concept based exeter+Avocado tests David Gibson
2024-07-19 6:59 ` [PATCH 1/4] test: run static checkers with Avocado and JSON definitions David Gibson
2024-07-19 6:59 ` [PATCH 2/4] test: Extend make targets to run Avocado tests David Gibson
2024-07-19 6:59 ` David Gibson [this message]
2024-07-19 6:59 ` [PATCH 4/4] test: Add exeter+Avocado based build tests David Gibson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240719065907.3539211-4-david@gibson.dropbear.id.au \
--to=david@gibson.dropbear.id.au \
--cc=crosa@redhat.com \
--cc=passt-dev@passt.top \
--cc=sbrivio@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://passt.top/passt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for IMAP folder(s).