From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from gandalf.ozlabs.org (mail.ozlabs.org [IPv6:2404:9400:2221:ea00::3]) by passt.top (Postfix) with ESMTPS id D63475A0274 for ; Tue, 27 Jun 2023 04:54:40 +0200 (CEST) Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4Qqq7J680fz4wqb; Tue, 27 Jun 2023 12:54:36 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=201602; t=1687834476; bh=o58eT+6xInCMIeUD7h+F+OK1UqR/RIg6pF5TdHev/Mk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PCwCKqHgbl7yw0LJvn13+FI3iGeyUKPAeOojloGlAE7YwL7gv27CQNGVUKwoMCNJj DQvO4pl3YKFJ9UBrLk4uiJv6MkyMeP6e9qHofb2pu6ivilfWS5W6uN6AAWPyrJU30c 3u62ttE2EKr21P2chf+K8lyGMMG6/zAVL6cwmJLE= From: David Gibson To: passt-dev@passt.top, Stefano Brivio Subject: [PATCH 03/27] avocado: Move static checkers to avocado Date: Tue, 27 Jun 2023 12:54:04 +1000 Message-ID: <20230627025429.2209702-4-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.41.0 In-Reply-To: <20230627025429.2209702-1-david@gibson.dropbear.id.au> References: <20230627025429.2209702-1-david@gibson.dropbear.id.au> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: U4G2FVKF7FBJAOJPARYYM4CLVYIWFODN X-Message-ID-Hash: U4G2FVKF7FBJAOJPARYYM4CLVYIWFODN 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: crosa@redhat.com, jarichte@redhat.com, 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: Move these, the simplest of our tests, to be run from avocado rather than our hand-rolled test harness. We include logic in the Makefile to install avocado in an isolated venv if it's not available on the system. Signed-off-by: David Gibson --- Makefile | 9 +++++ oldtest/run | 4 +-- test/.gitignore | 1 + test/Makefile | 38 +++++++++++++++++++--- test/avocado/static_checkers/clang-tidy.sh | 3 ++ test/avocado/static_checkers/cppcheck.sh | 3 ++ test/build/clang_tidy | 17 ---------- test/build/cppcheck | 17 ---------- test/run | 2 -- 9 files changed, 52 insertions(+), 42 deletions(-) create mode 100755 test/avocado/static_checkers/clang-tidy.sh create mode 100755 test/avocado/static_checkers/cppcheck.sh delete mode 100644 test/build/clang_tidy delete mode 100644 test/build/cppcheck diff --git a/Makefile b/Makefile index a5256f58..7b911f65 100644 --- a/Makefile +++ b/Makefile @@ -135,6 +135,7 @@ clean: $(RM) $(BIN) *~ *.o seccomp.h pasta.1 \ passt.tar passt.tar.gz *.deb *.rpm \ passt.pid README.plain.md + $(MAKE) -C test clean install: $(BIN) $(MANPAGES) docs mkdir -p $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir) @@ -294,3 +295,11 @@ cppcheck: $(SRCS) $(HEADERS) --suppress=unusedStructMember \ $(filter -D%,$(FLAGS) $(CFLAGS) $(CPPFLAGS)) \ . + +.PHONY: avocado +avocado: + $(MAKE) -C test avocado + +.PHONY: check +check: + $(MAKE) -C test check diff --git a/oldtest/run b/oldtest/run index 75309f66..56fcd1b3 100755 --- a/oldtest/run +++ b/oldtest/run @@ -66,8 +66,8 @@ run() { setup build # test build/all -# test build/cppcheck -# test build/clang_tidy + test build/cppcheck + test build/clang_tidy teardown build # setup pasta diff --git a/test/.gitignore b/test/.gitignore index 48374028..bf84c336 100644 --- a/test/.gitignore +++ b/test/.gitignore @@ -9,3 +9,4 @@ QEMU_EFI.fd nstool guest-key guest-key.pub +/venv/ diff --git a/test/Makefile b/test/Makefile index 7b00bef4..d4d0c1a3 100644 --- a/test/Makefile +++ b/test/Makefile @@ -102,19 +102,19 @@ medium.bin: big.bin: dd if=/dev/urandom bs=1M count=10 of=$@ -check: assets +check-legacy: assets ./run debug: assets DEBUG=1 ./run -clean: - rm -f perf.js *~ +clean-legacy: + rm -f perf.js rm -f $(LOCAL_ASSETS) rm -rf test_logs rm -f prepared-*.qcow2 prepared-*.img -realclean: clean +realclean: clean-legacy rm -rf $(DOWNLOAD_ASSETS) # Debian downloads @@ -201,3 +201,33 @@ xenial-server-cloudimg-powerpc-disk1.img: jammy-server-cloudimg-s390x.img: $(WGET) -O $@ https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-s390x.img + +# +# New style tests based on Avocado +# + +PYTHON = python3 +VENV = venv + +AVOCADO := $(shell which avocado) +ifeq ($(AVOCADO),) +AVOCADO := $(VENV)/bin/avocado +endif + +$(VENV): + $(PYTHON) -m venv $(VENV) + $(VENV)/bin/pip install avocado-framework + +.PHONY: avocado-assets +avocado-assets: + +.PHONY: avocado +avocado: avocado-assets $(VENV) + $(AVOCADO) run avocado + +.PHONY: check +check: avocado check-legacy + +clean: clean-legacy + $(RM) -r $(VENV) + find -name *~ | xargs $(RM) diff --git a/test/avocado/static_checkers/clang-tidy.sh b/test/avocado/static_checkers/clang-tidy.sh new file mode 100755 index 00000000..fe20d264 --- /dev/null +++ b/test/avocado/static_checkers/clang-tidy.sh @@ -0,0 +1,3 @@ +#! /bin/sh + +make -C .. clang-tidy diff --git a/test/avocado/static_checkers/cppcheck.sh b/test/avocado/static_checkers/cppcheck.sh new file mode 100755 index 00000000..85670dd9 --- /dev/null +++ b/test/avocado/static_checkers/cppcheck.sh @@ -0,0 +1,3 @@ +#! /bin/sh + +make -C .. cppcheck diff --git a/test/build/clang_tidy b/test/build/clang_tidy deleted file mode 100644 index 40573bfd..00000000 --- a/test/build/clang_tidy +++ /dev/null @@ -1,17 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# -# PASST - Plug A Simple Socket Transport -# for qemu/UNIX domain socket mode -# -# PASTA - Pack A Subtle Tap Abstraction -# for network namespace/tap device mode -# -# test/build/clang_tidy - Run source through clang-tidy(1) linter -# -# Copyright (c) 2021 Red Hat GmbH -# Author: Stefano Brivio - -htools clang-tidy - -test Run clang-tidy -host make clang-tidy diff --git a/test/build/cppcheck b/test/build/cppcheck deleted file mode 100644 index 0e1dbced..00000000 --- a/test/build/cppcheck +++ /dev/null @@ -1,17 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# -# PASST - Plug A Simple Socket Transport -# for qemu/UNIX domain socket mode -# -# PASTA - Pack A Subtle Tap Abstraction -# for network namespace/tap device mode -# -# test/build/cppcheck - Run source through cppcheck(1) linter -# -# Copyright (c) 2021 Red Hat GmbH -# Author: Stefano Brivio - -htools cppcheck - -test Run cppcheck -host make cppcheck diff --git a/test/run b/test/run index 8f4f8459..ce24f446 100755 --- a/test/run +++ b/test/run @@ -66,8 +66,6 @@ run() { setup build test build/all - test build/cppcheck - test build/clang_tidy teardown build setup pasta -- 2.41.0