From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id 68A37D261; Fri, 13 Jun 2025 14:05:32 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id D48D3D29C; Fri, 13 Jun 2025 14:05:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DMARC_MISSING,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H2, SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=4.0.1 Received: from fout-a1-smtp.messagingengine.com (fout-a1-smtp.messagingengine.com [103.168.172.144]) by atuin.qyliss.net (Postfix) with ESMTPS id 4F129D292 for ; Fri, 13 Jun 2025 14:05:26 +0000 (UTC) Received: from phl-compute-03.internal (phl-compute-03.phl.internal [10.202.2.43]) by mailfout.phl.internal (Postfix) with ESMTP id 673C81380441; Fri, 13 Jun 2025 10:05:23 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-03.internal (MEProxy); Fri, 13 Jun 2025 10:05:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alyssa.is; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm3; t=1749823523; x= 1749909923; bh=6zzJSuKPnAITN54SmV2wz1mpBR7QyQ/tR10vv0w1kEY=; b=Q /p2BqDGS8JG4gm8gmoAO8cJIkq7evNze9Vj3JW52Ib6K5GQi9GSkrwAFJg49XyT0 mkc7g92AgSIUGtIyKpluaRXHglXkEQ8R988iPnatbUcdN20hQRxT3KKC0CiPsbNi oq7UqmUSmyd2Xus/+f4KLQORx6EX+Nbhm2rF7T2YNxzpHkU1Rb9HoyT9+mdLEwbG Mqgc8nWaqmJe+hRcmk+3TQ+WfmIt9uRsOrHCVk8QVPUpFcRNyf8jAn9cKNoRO4vy tMwNqkxY3fA3TKLJkXwzHg5qeEVztHSxWgzkN5EzA0GBovvo+R3YA5vdCt1aNsUH w/VnczBMAAMK9DcSws1FQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; t=1749823523; x=1749909923; bh=6 zzJSuKPnAITN54SmV2wz1mpBR7QyQ/tR10vv0w1kEY=; b=VFw8ijKTTGEtnIq3J 4C8TzugWVM9QQgTMvDUbxb9O2efYb5aN5QSuYJurVMCHmoXJ0FLR19uxbLp08YUD 9WBa70bC2PyzrbonRlo/Aqv2kLDlOXe4SR34fd1+mhd/R92XL2kxlAIoacOaE2SS uP1SsYvrWHS64VzWSCj9mPliwZe89Yj7fcLQZ3Vh0EqRBoWbkTjS7Pv0aL7QM1Ar Dk3wZ382WxFqXUdY0XhV3Kq28TL3kWHo7ttfnLCfrGXpSNmbULfEN9caoNuE3EK8 aJwDbiWog1XLb99GcYNWBAohu7sXKW8LDiaipkE3Tl9yWEO39hQHzLRnmgO1sKjA VO2MQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddugddukedugecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggftfghnshhusghstghrihgsvgdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecunecujfgurhephffvve fufffkofgjfhgggfestdekredtredttdenucfhrhhomheptehlhihsshgrucftohhsshcu oehhihesrghlhihsshgrrdhisheqnecuggftrfgrthhtvghrnhepgeeuieduueekkeeivd etffegkeduhfduvedvledvkefhfeeiteekuddujefffeegnecuvehluhhsthgvrhfuihii vgeptdenucfrrghrrghmpehmrghilhhfrhhomhephhhisegrlhihshhsrgdrihhspdhnsg gprhgtphhtthhopedvpdhmohguvgepshhmthhpohhuthdprhgtphhtthhopeguvghvvghl sehsphgvtghtrhhumhdqohhsrdhorhhgpdhrtghpthhtohephihukhgrseihuhhkrgdrug gvvh X-ME-Proxy: Feedback-ID: i12284293:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 13 Jun 2025 10:05:22 -0400 (EDT) Received: by sf.qyliss.net (Postfix, from userid 1000) id CA75B245D6703; Fri, 13 Jun 2025 16:05:20 +0200 (CEST) From: Alyssa Ross To: devel@spectrum-os.org Subject: [PATCH 4/8] release/checks/integration: extract config struct Date: Fri, 13 Jun 2025 16:05:04 +0200 Message-ID: <20250613140508.76998-5-hi@alyssa.is> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250613140508.76998-1-hi@alyssa.is> References: <20250613140508.76998-1-hi@alyssa.is> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID-Hash: H3MZSPFMGYB7DS27JADFA34TII2ZKRMN X-Message-ID-Hash: H3MZSPFMGYB7DS27JADFA34TII2ZKRMN X-MailFrom: hi@alyssa.is X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; header-match-devel.spectrum-os.org-3; header-match-devel.spectrum-os.org-4; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Yureka X-Mailman-Version: 3.3.9 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: This will make it easier to share code between tests, especially as we add more things that tests might want to optionally customise. Signed-off-by: Alyssa Ross --- release/checks/integration/networking.c | 39 ++++++++++++++++--------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/release/checks/integration/networking.c b/release/checks/integration/networking.c index 44dccf3..efc7b44 100644 --- a/release/checks/integration/networking.c +++ b/release/checks/integration/networking.c @@ -176,14 +176,21 @@ static void wait_for_prompt(FILE *console) exit(EXIT_FAILURE); } -static FILE *start_qemu(const char *tmp_dir, const char *run_qemu, - const char *efi, const char *img, const char *user_data) +struct config { + const char *run_qemu; + + struct { + const char *efi, *img, *user_data; + } drives; +}; + +static FILE *start_qemu(const char *tmp_dir, struct config c) { FILE *console; struct utsname u; int console_listener, console_conn; char *arch, *args[] = { - (char *)run_qemu, + (char *)c.run_qemu, "-serial", nullptr, "-drive", nullptr, "-drive", nullptr, @@ -227,14 +234,14 @@ static FILE *start_qemu(const char *tmp_dir, const char *run_qemu, exit(EXIT_FAILURE); } - if (asprintf(&args[4], "file=%s,format=raw,if=pflash,readonly=true", efi) == -1 || - asprintf(&args[6], "file=%s,format=raw,if=virtio,readonly=true", img) == -1 || - asprintf(&args[8], "file=%s,format=raw,if=virtio,readonly=true", user_data) == -1) { + if (asprintf(&args[4], "file=%s,format=raw,if=pflash,readonly=true", c.drives.efi) == -1 || + asprintf(&args[6], "file=%s,format=raw,if=virtio,readonly=true", c.drives.img) == -1 || + asprintf(&args[8], "file=%s,format=raw,if=virtio,readonly=true", c.drives.user_data) == -1) { perror("asprintf"); exit(EXIT_FAILURE); } - execv(run_qemu, args); + execv(c.run_qemu, args); perror("execv"); exit(EXIT_FAILURE); } @@ -296,12 +303,17 @@ int main(int argc, char *argv[]) exit(EXIT_FAILURE); } - char *run_qemu = argv[1]; - char *efi = argv[2]; - char *img = argv[3]; - char *user_data = argv[4]; + struct config c = { + .run_qemu = argv[1], + .drives = { + .efi = argv[2], + .img = argv[3], + .user_data = argv[4], + }, + }; - if (strchr(efi, ',') || strchr(img, ',') || strchr(user_data, ',')) { + if (strchr(c.drives.efi, ',') || strchr(c.drives.img, ',') || + strchr(c.drives.user_data, ',')) { fputs("arguments contain commas\n", stderr); exit(EXIT_FAILURE); } @@ -313,8 +325,7 @@ int main(int argc, char *argv[]) int server = setup_server(); - FILE *console = start_qemu(make_tmp_dir(), run_qemu, efi, img, - user_data); + FILE *console = start_qemu(make_tmp_dir(), c); if (fputs("set -euxo pipefail\n" "mkdir /run/mnt\n" -- 2.49.0