From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) by passt.top (Postfix) with ESMTPS id 2A62C5A004E for ; Fri, 19 Jul 2024 08:59:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=202312; t=1721372349; bh=tMHtDcas1dZFWNHTAEw8fT7UVhmGY9hujL0yTUSoLyc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LWLssI47EYJytKJ5lurWLzxbUtBmJ75RO+qSYzpeZoJ9DA2N7Ojt0R/zhk9Y8Kt9S 4PD1O0ecKGxWiErPWRnqG9AEsgis4EClWPu9uTLWl8ON+xz866LrAbN/szwuZW7SMI AAXVX9HLTZpPfMlwPVoR8JoGRb3Loz3mhIKtmd2TMttEfNTUwq2hlogRe2SgU+zQMY ryrjVlLZDb1/5evbCdXx5RmfXC2dnGZXT6+Elw9QZLpCsP6thw7HkK1zfFZT5ors8R 6fCN9tMY3o/FBvszcUELAQ/rnYZuuxaFocbfZA7L3dLKpHgv8nlk+lqgBHTe13mNq5 FW8kNqdK7EGGQ== Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4WQLBP2bT0z4x6l; Fri, 19 Jul 2024 16:59:09 +1000 (AEST) From: David Gibson To: Stefano Brivio , passt-dev@passt.top Subject: [PATCH 3/4] test: Exeter based static tests Date: Fri, 19 Jul 2024 16:59:06 +1000 Message-ID: <20240719065907.3539211-4-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240719065907.3539211-1-david@gibson.dropbear.id.au> References: <20240719065907.3539211-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: X5MHA5KOFEUY5IJOZEPCYQ2JGRJIHOSU X-Message-ID-Hash: X5MHA5KOFEUY5IJOZEPCYQ2JGRJIHOSU X-MailFrom: dgibson@gandalf.ozlabs.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Cleber Rosa , David Gibson X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: 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 --- 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 "$@" + + -- 2.45.2