From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=none (p=none dis=none) header.from=gibson.dropbear.id.au Authentication-Results: passt.top; dkim=pass (2048-bit key; secure) header.d=gibson.dropbear.id.au header.i=@gibson.dropbear.id.au header.a=rsa-sha256 header.s=202508 header.b=fSGU7a9q; dkim-atps=neutral Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by passt.top (Postfix) with ESMTPS id CFBC05A027B for ; Thu, 07 Aug 2025 13:32:44 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=202508; t=1754566361; bh=BBPrlgesAkpruukhuqh7w9rjuLedIZdAN805TNsQmio=; h=From:To:Cc:Subject:Date:From; b=fSGU7a9qCes9eG8QYNOIvIyeSKkCRnbMQ7+8g50UQqdj36k9C1bD7zqQS7/5uYqp2 BzQunQnAyCbzgyDPDfqUjoqZsQ2qbPa1XhNIOJrPhhgkS9tka70ngJwyDQmQRHfhoa gxOwJaCdDVcvifVUuAUXBkJirV2aCazi/HxiE+GMgKlcOkRzBWz/NMCDKZYHHr38ay LqvbixNwKAISPFTkJ4VMUJW+clxMB35/kQL0gdCi+x9IgrjSFmthteJnhxNH53fh+r 5SyAXvALyr+3Yd4CohjQ7EHligoIQp+0LxOopOv2NZ4GLlOwBAQVs5nY5vMn2v7FXN 9kzoRF+9y6ZDQ== Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4byQ4n1M5Cz4wbR; Thu, 7 Aug 2025 21:32:41 +1000 (AEST) From: David Gibson To: passt-dev@passt.top, Stefano Brivio Subject: [PATCH v4 0/3] RFC: New proof-of-concept based exeter tests Date: Thu, 7 Aug 2025 21:32:34 +1000 Message-ID: <20250807113237.548294-1-david@gibson.dropbear.id.au> X-Mailer: git-send-email 2.50.1 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: XJFQLJD3JENRYRGYPEM3KCM3SD2KQGLV X-Message-ID-Hash: XJFQLJD3JENRYRGYPEM3KCM3SD2KQGLV 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: 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: Here's a new approach to building passt tests with exeter. This new one no longer uses Avocado in the default case, although it would still be possible to manually run the exeter based tests with Avocado. Here's another draft of my work on testing passt with Avocado and the exeter library I recently created. It includes Cleber's patch adding some basic Avocado tests and builds on that. For now this only does simple tests, to show how the integration could work. It adds some new trivial "smoke tests" and converts the linter and build checks to exeter. More complex tests will require building the sinte/pesto library we've discussed. A lot of the work for that already exists in my earlier exeter test series, but it will need some rework to split it into a separate component. Changes since v3: * Remove reliance on Avocado * Build integration between exeter and existing test scripts * Drop most of the complex tests for the time being. Changes since v2: * Added mypy type checking throughout * Use exeter "scenarios" to reduce boilerplate * Folded together a number of closely related patches (from 22 patches down to 15) * Entirely avoid open-coded Python context managers in favour of contextlib.contextmanager * No longer accidentally run a lot of the "meta" tests in the "real" testsuite * So, so many assorted cleanups David Gibson (3): test: Extend test scripts to allow running exeter tests. test: Run static checkers as exeter tests test: Convert build tests to exeter test/.gitignore | 1 + test/Makefile | 5 ++- test/build/all | 61 ------------------------- test/build/build.py | 84 +++++++++++++++++++++++++++++++++++ test/build/clang_tidy | 17 ------- test/build/cppcheck | 17 ------- test/build/static_checkers.sh | 30 +++++++++++++ test/lib/exeter | 46 +++++++++++++++++++ test/run | 18 +++++--- test/smoke/smoke.sh | 27 +++++++++++ 10 files changed, 204 insertions(+), 102 deletions(-) delete mode 100644 test/build/all create mode 100755 test/build/build.py delete mode 100644 test/build/clang_tidy delete mode 100644 test/build/cppcheck create mode 100755 test/build/static_checkers.sh create mode 100644 test/lib/exeter create mode 100755 test/smoke/smoke.sh -- 2.50.1