From nobody Sat Nov 15 08:50:45 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752836736; cv=none; d=zohomail.com; s=zohoarc; b=GteW6Z8Bm6emobxTQ263qxxfn1LilmC00+CiwofUqThg60tscCA7LBP5aMUh3NWmBE7/lRjmNL1Yv9d+BQJobfNQ2nAtiWJMEfIZN3hbq2rnqWI18hFtfCIuoBS8TC/EplI6UI6ErEoDCvLAON1yie1acBPRWv4Thyfju9qOLgo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752836736; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zul+EPFf+TzuuiH6vyHLxY5TPUuTnHHzqa/2t4GYRqE=; b=IZgwnFpPek7ZTe6ymCfGeWIkgtBMotLFvaQmwDUwzjf4gi6jv6IR3sWD0mdSsRwjixX1YOjWt69sP/8uZWtzPx459OdIV0RiqnHpXwz2YR1nVjeljW/uPzF/3c5RvhWy7E0CJqkUftvkTOxsFs8f+WHECjKnGTMK9umvSvcoSBA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752836736938749.2718244694285; Fri, 18 Jul 2025 04:05:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ucitc-0002bJ-1m; Fri, 18 Jul 2025 07:04:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ucitN-0002Vj-7d for qemu-devel@nongnu.org; Fri, 18 Jul 2025 07:04:42 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ucitK-0005ma-Sa for qemu-devel@nongnu.org; Fri, 18 Jul 2025 07:04:40 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-4563cfac19cso4444645e9.2 for ; Fri, 18 Jul 2025 04:04:37 -0700 (PDT) Received: from [127.0.1.1] (ppp-2-86-210-241.home.otenet.gr. [2.86.210.241]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4562e8ab891sm76117585e9.35.2025.07.18.04.04.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jul 2025 04:04:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752836677; x=1753441477; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=zul+EPFf+TzuuiH6vyHLxY5TPUuTnHHzqa/2t4GYRqE=; b=Hpg9oNbD5uS8kjseMpKac6wwErBXyTebMTkV9XgWSsmKRyTcbrBtJTqhNXIuxbtnlb 6ytVebf9FNj8blgp3iSGpJfGkJJ9mXRL004bMwY1Cx9xXySfSPLw0EkjuK76kk2+bLiI Z05d54gh538wMcz7G7eaNltDF7ZW/g+2jc4AjN7d/F6xILdh1mnmHcZh6indKvUAvUMr Cbo7KSY/oUf3uWRyJjF+Lhi6CGvK3PoZ+dzbhY15uWqZld+yGSEXDrVAGNivBdM+1MPN /TJylKW33DCi6RHgSs8LeWGmzql6McRcjOaji+YcitsOTS+MX2VoJy+G2MpMWe04aOHU pbwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752836677; x=1753441477; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zul+EPFf+TzuuiH6vyHLxY5TPUuTnHHzqa/2t4GYRqE=; b=lLdjc32GVVzuq59IqJ/e4O8vTHGyKPnDIt5BndUqILLzILUfpHKvcYnkv82rUuZPZy c1QnPvXOJERCndj2e+8SW0s0g6YlXCjeZ1wWCidM3Sg0Fx9mUQGCdKtOQxsR3fk7aBxD su77Sc9vd5ThqME6cei/nKU5zMtiOYlgr5kasagnO25r5T/8s7V8M7Viy57R+o8f8TwU 5iSbcnn0BTt0eGjd0vcB4G0Lp1Q/7muzPDxDiNA97OL06FSwo0ctOwKfW3lwcpwviJl6 XGGVNKm0YFyVh/5TiMt3wBl2h48SvLXDS/4gzLMc7zQueYhVdtkd9ACpXsdk7rlBNkbr QIkg== X-Gm-Message-State: AOJu0YzCmd683J4wAQsuYGdC5ifnqfbWQCTqtubS65Dwtzx5ZHvNLbfX u1irqvEZbg7gHTRqy3K8JPUn5S/X2eOlf4upH1HB+0MFhqeiifm8LgRycuHO4RMs2b0923cBOzg VZCb4 X-Gm-Gg: ASbGncvZJnDTiGS68JLhze3im5KL5C1oxDkroUYMXh6Y/AuyAjTdiwSII/EmGB3RR2e xrmoPhp18jC38tY69kBlXlptgAw1+tHi7N1+ElE4K6rua47XmqQ7KWQ8OPfDX/aLn0xT/625Rak mPMKrDfjCXmDkVpHMj0EHylp+C8TqT61vlrloK6ovvnBeRTUvK0+znIerbhKn1iAnteVCdPEIIN rB1kEmwIK5WfLDPP/cwczT62fwvRxD1rD7PvdqklpMv1/8OQtzMRR9Xtex30ZbRMJiR47Xx3xqP SoRzPax07YUWfXusXBVY48ltfV9FPXRCWMG7zuVh4gses8N8Ad7RIr7Kb9m88Bt0PRP6NfSEkWz JC7Cr4yvtB72ZC3rp7+cBTHhVWmwyfMxWWIWTpE1O1+jjZotTGvD9L/CFbdYAUWhE0Ck= X-Google-Smtp-Source: AGHT+IGuoABJQ9QQxPkvN6zyPWhTbX+Egy29RYjEKwX5eorrS12ZcEYXDAivZye69Qy7eVwPGsgMug== X-Received: by 2002:a05:600c:310b:b0:453:9b7:c214 with SMTP id 5b1f17b1804b1-4562e29c33emr92628035e9.29.1752836676555; Fri, 18 Jul 2025 04:04:36 -0700 (PDT) From: Manos Pitsidianakis Date: Fri, 18 Jul 2025 14:04:25 +0300 Subject: [PATCH v2 1/3] tests/functional: add --keep-scratch CLI arg MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250718-functional_tests_args-v2-1-cde6e08bf98e@linaro.org> References: <20250718-functional_tests_args-v2-0-cde6e08bf98e@linaro.org> In-Reply-To: <20250718-functional_tests_args-v2-0-cde6e08bf98e@linaro.org> To: qemu-devel@nongnu.org Cc: Thomas Huth , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , =?utf-8?q?Alex_Benn=C3=A9e?= , Pierrick Bouvier , Paolo Bonzini , Manos Pitsidianakis X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2102; i=manos.pitsidianakis@linaro.org; h=from:subject:message-id; bh=6NIq2ZkKScjqA7t42lY2yX+T5zJ+KW32NQ4ekf9u8Ns=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0VCYlFLUy9aQU5Bd0FLQVhjcHgzQi9mZ 25RQWNzbVlnQm9laXBCWE5UTmRPbVdYTWF5M0pNcFpaZ0JacHhiClVZUWwwNmFrY3lVS0pLa0hu c2lKQWpNRUFBRUtBQjBXSVFUTVhCdE9SS0JXODRkd0hSQjNLY2R3ZjM0SjBBVUMKYUhvcVFRQUt DUkIzS2Nkd2YzNEowQWYwRUFDU1FWTjZiTkFURG5VMmNwbkp6STVNcHRMb3FKU3hjV282eXVzdQ pCRE1ETmZTNm50a1FYcURSRlFhRHVPWXI5clBBNmFLaFJpOHNWanNzOGhXSlJZMllITFg0Z0UzN 3VYTWJpOFQxCnZRd0tsN3NHTW5HL3ZhTmZQamNCSlk0MDZRblNUK3p6ZU5PWHRuTCtWWWQ4ZTlk RTc5UEFmcUlQN3lyU3pvM2YKQWxmRWtNMmtvbnRzcGhkZFp6UWVGSE9ZZ3BTeW5YT283KzdDdEp ybFlIbWZLRFVRMndFUlhmV2JVU2g4R3ZGYwpxWDg4TTRkL2c2aEhrUi80ZFA3MXFrUStFV0VGcl pCZXBTc3o1Q1pnRExlRE9UQ0dJakk5Z3dzVHFyU1JDMFpWCjk4cWhiQzl6Z010aUluVGR2cEtnb nJrTGthaHhqL2xYeHBES0hvcWxNZ1JjVFlxQ1ljZUh6cUJrUWg3elRWU3IKYkJ0ZnlLRzNrYWh1 UE1Jb1ljdmNRY0ZzWEliTDNaRE0zbzZtdWsxaStXUDBwU0FTVnNpazVHbmUvOWRUWW1ZcgphUGR DWWhZaHF6cnVENytLNUdGWmtGOGJ5YVR2Q1BvZnZZRjFRa1djVHVoOUZPMXlEa1lEOE5TUDVPbV pldCtzCkl6cU10OEpQR05xMGh2cXVrbE1VMmc4ZUlMQkpwN3MyYzRoek4ydEZLTzdnL1lTR0NDc 0xQL0NldlJSZmlvcEoKd2tpUGk4ZXRlZGlFTVBXcjZQUkFhTFZ4OHZtRnVYdFUzeXpqNG9SMHd1 NmZveVNrc1krcjdZaWRQU203eENmZQpTVnB3KzJySzVuOHBtNVErd1A0RmdqMmYxWmdYZ01haXZ NSTZTWWNNT3oyQ3hlTkxUZU1KL0gxdG4yS2daTFdlCm5Fa3BzUT09Cj1yR2ZVCi0tLS0tRU5EIF BHUCBNRVNTQUdFLS0tLS0K X-Developer-Key: i=manos.pitsidianakis@linaro.org; a=openpgp; fpr=7C721DF9DB3CC7182311C0BF68BC211D47B421E1 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=manos.pitsidianakis@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752836738358116600 Add CLI arg to keep scratch files after test execution, equivalent to setting QEMU_TEST_KEEP_SCRATCH env var. Suggested-by: Alex Benn=C3=A9e Signed-off-by: Manos Pitsidianakis Acked-by: Thomas Huth --- tests/functional/qemu_test/testcase.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/functional/qemu_test/testcase.py b/tests/functional/qemu= _test/testcase.py index 3ecaaeffd4df2945fb4c44b4ddef6911527099b9..9b00c63e6ca7a2a669fd456f1d1= b51501ce4a726 100644 --- a/tests/functional/qemu_test/testcase.py +++ b/tests/functional/qemu_test/testcase.py @@ -43,6 +43,13 @@ def parse_args(test_name: str) -> argparse.Namespace: help=3D"Also print test and console logs on stdout. This will make= the" " TAP output invalid and is meant for debugging only.", ) + parser.add_argument( + "--keep-scratch", + action=3D"store_true", + help=3D"Do not purge any scratch files created during the tests. " + "This is equivalent to setting QEMU_TEST_KEEP_SCRATCH=3D1 in the " + "environment.", + ) return parser.parse_args() =20 =20 @@ -214,6 +221,9 @@ def setUp(self): path =3D os.path.basename(sys.argv[0])[:-3] args =3D parse_args(path) self.stdout_handler =3D None + self.keep_scratch =3D ( + "QEMU_TEST_KEEP_SCRATCH" in os.environ or args.keep_scratch + ) if args.debug: self.stdout_handler =3D logging.StreamHandler(sys.stdout) self.stdout_handler.setLevel(logging.DEBUG) @@ -255,8 +265,10 @@ def setUp(self): self.skipTest('One or more assets is not available') =20 def tearDown(self): - if "QEMU_TEST_KEEP_SCRATCH" not in os.environ: + if not self.keep_scratch: shutil.rmtree(self.workdir) + else: + self.log.info(f"Kept scratch files in {self.workdir}") if self.socketdir is not None: shutil.rmtree(self.socketdir.name) self.socketdir =3D None --=20 2.47.2 From nobody Sat Nov 15 08:50:45 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752836762; cv=none; d=zohomail.com; s=zohoarc; b=eshPlbsjPUVp8rbUEq+3jKYKLNmQqXQDQypjxta8Kk62ZX92IsG1k96TESvHDsIEfg8DZ4PGtEU99JkQ86c7MUBYxpCckAVuwVeFI8DM4bvzCObS2vf6SE2ETqRWlsutYvcT8OahX2RZ0n9FKtdfNzZmGW2YiuJFJ8jvaZUgpjo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752836762; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=4FE6XAW701ynTljBiWtyWjziNFIq+ltoCFGeQIJ6K/k=; b=d/j4f92D4gqYMfQ59HR2TnvyvOqgjD98Dy3hAqRBacgKNPGUhFuQbiMUh//6aZKoXAmx+4x0tBmR/YsisZHJohZqfTS+wsv041Q+G1o4m5BNlrKq67SHS2IjGBX8kuNQJttEjCljMB1Z4zeKVLeOJED2u1bhkHIwgokw8g+S758= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752836762166536.804922882796; Fri, 18 Jul 2025 04:06:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uciu8-0002wc-B8; Fri, 18 Jul 2025 07:05:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ucitN-0002W2-GH for qemu-devel@nongnu.org; Fri, 18 Jul 2025 07:04:42 -0400 Received: from mail-wr1-x432.google.com ([2a00:1450:4864:20::432]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ucitL-0005nU-QY for qemu-devel@nongnu.org; Fri, 18 Jul 2025 07:04:41 -0400 Received: by mail-wr1-x432.google.com with SMTP id ffacd0b85a97d-3a4f72cba73so1867108f8f.1 for ; Fri, 18 Jul 2025 04:04:39 -0700 (PDT) Received: from [127.0.1.1] (ppp-2-86-210-241.home.otenet.gr. [2.86.210.241]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4562e8ab891sm76117585e9.35.2025.07.18.04.04.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jul 2025 04:04:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752836678; x=1753441478; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=4FE6XAW701ynTljBiWtyWjziNFIq+ltoCFGeQIJ6K/k=; b=ixs+rO0bKOBtOwPE/cYBg16RLF0OgQ2n9YqUmcxNIiWoUicSIa/Rwvwk5NkvWyTZDl WgKRd4HFS4steW3TkPObr8qcPp6Fgb9fHKWcjgWnpS+qzjeSgedYHqsRxmjzaAojhl9G HEMg1aEnN+KFRF5nOMvMGmxkIcbDyHCm5EZbFjHGJp0G9ypfjpcvh+E+N09XFzzHUUse goA73t/+8EQnFVrgIwbgIMV7lzq/rFtURhwzNDwnAdHXe/pWFD7SnJFPHYH3rrGFUCT5 y84AeFMJKxWzeWcXy32B9VyaU/OLFxY6pwH4PPSysxO9RIf2fVugLL9VUcZ1XCpz9im+ EgIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752836678; x=1753441478; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4FE6XAW701ynTljBiWtyWjziNFIq+ltoCFGeQIJ6K/k=; b=BWGy16YAcThUMdBym0diApmrk/r08dQUQgAFcsLrSYcRB6MkShsMloBeY/G2Ym8AdJ MFVrUAnyRFWmhxMb8LwX6iEyHfOQWzKXWpMsn0bi8E37AiPe+APy3Ebd02jvaRy/DZEf Gxsi6CnxWuaghZNSO3P4r2vLFOaBpge31zX1Qb0xP4z19wbp8pGki3wpZylsUBBtC/mt o2LJGjcbER76+TriL2FaAq6aw9RLbCJMymyYrvZltYSnzqyY9K2HH8YGnjlshPNd6qcW 68pxyXwajOwmbvcnP9QHIQfZaMSJbD4xIiv2gIahCcMX2hlEcDWwrSEtiN14B686I2ij lumA== X-Gm-Message-State: AOJu0Yyh+q+o7aeQHGXS58i9LvPVoXdymWz+Q8/9qWCINvUuZNAimUE/ zworXPXP+ymy3YLoIzNToNBlUrCWkd9OdOIWE7lEdUQm+S4udXF5LgluUG4keAmHhuBADY6w3rv 84eYY X-Gm-Gg: ASbGncuHqL8Vm4rbI5FEDFSP/NZnPJEEufWhhVlfksFTFIg5xPZUxL5mCjQhFV6g1i4 zna8kLnjpH4gntXDYJGoL0nzPW28OCP7phHelWcPQxdb0QiaTIJTLIfD0ASz+ouB1hPluWC4q1g dECL9V+A1vfLdbk0v0x/25EKxceuszgC+lOgzwhdxAIAVvy8mtV7Nk6/5SRUd1DZrap1UWvSVnO EwJjsdK8DpCQCMTIiVpQosPR205bUO8v7G3kaY2B4mqrCijaoT3yF3B/b7reKkSNEmqnJ1YlTzX G9rv4oqcSIejlUh/ZJNQdHAjwFT7TlSCA500VpXMOPx/yfOpswa/DtqH1GX9nGdMqFZ173uOj8Q fPCUFlbyjI0tbF12MEyId+1VPkK1mLZBWsao62g4mEhOLmj0SuU7JL7FOftxJu4H77n8= X-Google-Smtp-Source: AGHT+IHM+lZWElOff+5DxezrZrsWWmT1EcamKr8fpRJIe3MI6BhiZyAlJDQSESwGWs5efTjbq9SQeg== X-Received: by 2002:a05:6000:2b02:b0:3a5:270e:7d3 with SMTP id ffacd0b85a97d-3b619cc16f8mr1857300f8f.13.1752836677880; Fri, 18 Jul 2025 04:04:37 -0700 (PDT) From: Manos Pitsidianakis Date: Fri, 18 Jul 2025 14:04:26 +0300 Subject: [PATCH v2 2/3] tests/functional: add --list-tests CLI arg MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250718-functional_tests_args-v2-2-cde6e08bf98e@linaro.org> References: <20250718-functional_tests_args-v2-0-cde6e08bf98e@linaro.org> In-Reply-To: <20250718-functional_tests_args-v2-0-cde6e08bf98e@linaro.org> To: qemu-devel@nongnu.org Cc: Thomas Huth , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , =?utf-8?q?Alex_Benn=C3=A9e?= , Pierrick Bouvier , Paolo Bonzini , Manos Pitsidianakis X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2173; i=manos.pitsidianakis@linaro.org; h=from:subject:message-id; bh=joWFlCcQxxcouUINLmn1zvetOg8EQnvEktQFlMPdPTA=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0VCYlFLUy9aQU5Bd0FLQVhjcHgzQi9mZ 25RQWNzbVlnQm9laXBCc2hXenVSR3UwRTJ5QmQreHBNUTFaUGNICm83cTBlY2RJdW1zbkVBcXRK VGFKQWpNRUFBRUtBQjBXSVFUTVhCdE9SS0JXODRkd0hSQjNLY2R3ZjM0SjBBVUMKYUhvcVFRQUt DUkIzS2Nkd2YzNEowR3VvRC85dmYwd2hyaFhCMVQ0QlhYVUQwNlM1UUo1ZWJpcll1bmN0TERFZg p6T21lMGU3UmdqOGlEVEhmajg0MUVNUjZVYk1kTmFxMjF3RWhoTm0ydGdjdzVyNGFScnJheWVPL 3p5eWhkWFlWCkFCN0ltLzdHMU5VMExTMnlpZXFFZHBPbS84SXBEYXhDeDhSV2NMMjBDc1YzTzIz SFFLYjVNSDNnWDZhdFFVSU4KTHpFNjJZbDlhOFdqcUNqK09kdSttOXQxTXhvYkE2dHA5UmlRTHZ aVGE3WlY0b1gwSEROenJQUGZaMGQ1bUx6bAptVzJtdWFwN1ZwRDd4Qm83U2sydkloUlEwMlpRbX VLZlNqT3gydG1OK0p0QUFFSWhKVTJoaExVNW9pUEJGVDZrCnl5T1RveENvWk1ubVZVUXVEdW1DS FFDeTRrSngwS1V4cVoxS3dIZXJjVDVxRnV4dTlNMlR3eDFUaWVSREZ6MWUKeDdWU3JrbmI5bzN0 QkYyZUNRbTg4TGYvOG91WjN4OTJURnpCMElZS0FJTWNMNjR0YkNodG5GL3haTjRwdW5zSApaL2t YaU9VVW5TQ0F6aUE3Qkt3SWpxOHkvQjZyTTRHUHI1ZnFQbTlNakRRSnBFcTRpS05qQTZiT0l1aG hta2ZFClVpWmpGeGppUmtnTVhrbThlTmZ3OTQxekRQQmtBUEdwWmJySHJRU3NGMzJjN2NocHhDW nJyY243UXdoWmxuRU4KWDNURDQ3dVFkUDV5MitxWGEzYmVuK3ZNeFc5Rk92ZnJBS0N1dUR4ZzJz M0ZGSFRweG91ZmZCc2gyOHh5QWdQWgpELzVDSXh1WlRtMWpYd295VlkyVXRMTUNsaVR2WkdIQi8 wb0VPdCtwRHhhSU1mTVNzSVlYajNodUxiTFN6UzRWCkdPWStsZz09Cj1Ga0pxCi0tLS0tRU5EIF BHUCBNRVNTQUdFLS0tLS0K X-Developer-Key: i=manos.pitsidianakis@linaro.org; a=openpgp; fpr=7C721DF9DB3CC7182311C0BF68BC211D47B421E1 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::432; envelope-from=manos.pitsidianakis@linaro.org; helo=mail-wr1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752836763863116600 Add CLI argument to list tests and exit. Example output (current dir is build directory under root dir): $ export PYTHONPATH=3D../python:../tests/functional $ export QEMU_TEST_QEMU_BINARY=3D"$(pwd)/qemu-system-aarch64" $ ./pyvenv/bin/python3 ../tests/functional/test_aarch64_virt.py --list-te= sts test_aarch64_virt_gicv2 (test_aarch64_virt.Aarch64VirtMachine.test_aarch6= 4_virt_gicv2) test_aarch64_virt_gicv3 (test_aarch64_virt.Aarch64VirtMachine.test_aarch6= 4_virt_gicv3) test_alpine_virt_tcg_gic_max (test_aarch64_virt.Aarch64VirtMachine.test_a= lpine_virt_tcg_gic_max) Signed-off-by: Manos Pitsidianakis --- tests/functional/qemu_test/testcase.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/tests/functional/qemu_test/testcase.py b/tests/functional/qemu= _test/testcase.py index 9b00c63e6ca7a2a669fd456f1d1b51501ce4a726..bfee6638edf6f9853ead1e3809a= e3c9152089406 100644 --- a/tests/functional/qemu_test/testcase.py +++ b/tests/functional/qemu_test/testcase.py @@ -50,6 +50,11 @@ def parse_args(test_name: str) -> argparse.Namespace: "This is equivalent to setting QEMU_TEST_KEEP_SCRATCH=3D1 in the " "environment.", ) + parser.add_argument( + "--list-tests", + action=3D"store_true", + help=3D"List all tests that would be executed and exit.", + ) return parser.parse_args() =20 =20 @@ -280,10 +285,13 @@ def tearDown(self): =20 def main(): path =3D os.path.basename(sys.argv[0])[:-3] - # If argparse receives --help or an unknown argument, it will rais= e a - # SystemExit which will get caught by the test runner. Parse the - # arguments here too to handle that case. - parse_args(path) + args =3D parse_args(path) + if args.list_tests: + loader =3D unittest.TestLoader() + for test_suite in loader.loadTestsFromName(path): + for test in test_suite: + print(test) + return =20 cache =3D os.environ.get("QEMU_TEST_PRECACHE", None) if cache is not None: --=20 2.47.2 From nobody Sat Nov 15 08:50:45 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1752836750; cv=none; d=zohomail.com; s=zohoarc; b=WyGiHrCtqYTVXsj3ZMPl/ElJelP2tar58EoWfsFn8vweu7RthoAdYhP1+PuSS/GDL8NxAtoz7ui4gGZxmBlA7Ut/OK1ZLUjIHer6Bk4yBjT5BClYK7bIbq4z9RsmZpf42c5VjnZO7JHUaCDAjMm1vVvAHdQp2a1zhL7e8YarjJg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752836750; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=nI52mj/NOpmVxIV/aC5RI+b8iaJ7jsY+o3+3JbLpnyM=; b=Fuz2QuuDiWyPrHoEURgD2vfG2Jonxf2dplKrUN5FsNLWuwmUGR8ZqtwuAuRYpf/WUUVj5vHzaVaUO1iO5TBCVw4ZkRmMNkShklpz1aFw+BECOrRiZhXdYcygzGba9Si733hmWbaww4Ijneu2aUkuCcRt4HBYv/xVP+6WkXAixXc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752836739390931.4518556989237; Fri, 18 Jul 2025 04:05:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ucitm-0002h7-S4; Fri, 18 Jul 2025 07:05:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ucitO-0002YD-Th for qemu-devel@nongnu.org; Fri, 18 Jul 2025 07:04:43 -0400 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ucitN-0005om-5q for qemu-devel@nongnu.org; Fri, 18 Jul 2025 07:04:42 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3a6e8b1fa37so1373970f8f.2 for ; Fri, 18 Jul 2025 04:04:40 -0700 (PDT) Received: from [127.0.1.1] (ppp-2-86-210-241.home.otenet.gr. [2.86.210.241]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4562e8ab891sm76117585e9.35.2025.07.18.04.04.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jul 2025 04:04:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752836679; x=1753441479; darn=nongnu.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=nI52mj/NOpmVxIV/aC5RI+b8iaJ7jsY+o3+3JbLpnyM=; b=W0umaNY8+upSIlPPea+SGejreaoHFpIAYKYkbvKXla+pt50IBG2mmmuYJ/z6AsxL+H FbMbXXqOAh4ysm1Ba1Zpycbd4oKZF32lp2xnYf5jDMoqsHAMsxO+qT6+ceHHO3ZDf5nY +++eSoZPU+Ty8Ck8Tu+1L/9UYfDKt5XfKw8nbl5jPmmM6K5L9S4pWsykPWBWEmH3QIbH N4dwKChtXzhj6BKFnxfXhWWqHInnf/XJFOWFCV/kTo2F9RuqvVl9oWJ9f4EwqmFC6uAw dw2i0CYvRc54dvXZJT2Kr5Vq6/g/LlVm/n3jHQ2jBMnE/mq1pQTaauXtXcKkJxR2NmiY v37g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752836679; x=1753441479; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nI52mj/NOpmVxIV/aC5RI+b8iaJ7jsY+o3+3JbLpnyM=; b=XvW2NiqcOKfnBP81+Yikp0goahygz+AsMAAUFGVHaFPcesbhHwaSXY89UNOlBrfNwL TFT18kf91cieEwQnDReDlJ5bTp/JcyTF/kjQd5UHeobIUPBDYA/L02X65B7vqZ0eXJMG YgiHyrCGk/pJz56yt0ziKiRsQcr8FT0xiJUEiPNyzGmHt/BB4hvJNUxVj/HIzfu7MrFz 4F7BV5bCmxrIypV/Bg4B5gJj8dkivX1/oTLYg4+lbmpOpcmwj4KnHC8MpOf175AI4dqp CDLYc9EFQaMyISjgQ7irpA6B6Db6TNtW+OBKTdlf6SRK4g3Ze4/N5Ehb9xNF4wopkNrl 6r/g== X-Gm-Message-State: AOJu0YxiZ4lGBOXKYIWFV+hPWs6DZZETe/d3XI3FEiM9/qgsd2kcMlSG Agb/rCiTv8Y64fsEQd/FmoNEpu/jw5OpcXD7RYFRc3P/HlDGEQivQOC+tkX9llAPciTHkbQIvdo 60Q2k X-Gm-Gg: ASbGncuxr573QfoPCTKhnDfDsD7EWV23C0gCE6vdJ/p6uUYsEfR6WqZApvVDPefg+h7 wwzQbsjv+dzOUeshjl8zLcCQ8jKqUrLkiDgMZvS4b36rNkq7quttgMx7rBc7+g9SMiSe70JydWr X2rzRNyCpA55LG7LpLA9bVJ8YabJ42mopohpO1jZeDdgaNebG0FFvZxDHfNZWpjc5zlxK65rhG9 17ahDLuldp5NLDrzCQt/wFSty6dyrXJmsak0dBGcddjOS+lwNZnjhSaaPEs1O32y7WL/9f5iX3w B9yukpMAcERqkoe5NkdPUzc4bdJPwm06+xE/08DCTfEezbQA4GhuI7ydpjt8fRrSX/h+0XiAp+F +x87W7yTSWB/U2W3uLm1IvCPbBZ9fJFE8eZClcrL5Ye49/aFodpoSuggsMnNv9NT7MPg= X-Google-Smtp-Source: AGHT+IE6AiflDnatX31QFul2w7FK2lYVC/cT9RI3+d4u0PWxx5vC16EqPttF8Y8+0j3D580V1o1b9g== X-Received: by 2002:a05:6000:4b1e:b0:3b4:b4d:6861 with SMTP id ffacd0b85a97d-3b60e50fe9cmr7635945f8f.27.1752836679144; Fri, 18 Jul 2025 04:04:39 -0700 (PDT) From: Manos Pitsidianakis Date: Fri, 18 Jul 2025 14:04:27 +0300 Subject: [PATCH v2 3/3] tests/functional: add -k TEST_NAME_PATTERN CLI arg MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250718-functional_tests_args-v2-3-cde6e08bf98e@linaro.org> References: <20250718-functional_tests_args-v2-0-cde6e08bf98e@linaro.org> In-Reply-To: <20250718-functional_tests_args-v2-0-cde6e08bf98e@linaro.org> To: qemu-devel@nongnu.org Cc: Thomas Huth , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , =?utf-8?q?Alex_Benn=C3=A9e?= , Pierrick Bouvier , Paolo Bonzini , Manos Pitsidianakis X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2179; i=manos.pitsidianakis@linaro.org; h=from:subject:message-id; bh=1CgM+Kp1f+WKnkXx4AdXZu8CWuCTr/dCbXb3gkwdtYU=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0VCYlFLUy9aQU5Bd0FLQVhjcHgzQi9mZ 25RQWNzbVlnQm9laXBDZURNR2lDNS9EWTZQV01xZm9pSTd4VjRTCjlEVDhnelJNVGhwanRxbDlL aVdKQWpNRUFBRUtBQjBXSVFUTVhCdE9SS0JXODRkd0hSQjNLY2R3ZjM0SjBBVUMKYUhvcVFnQUt DUkIzS2Nkd2YzNEowUFQwRC8wZVpWbTM0VE9sZUlqMTdjYjlvN0J5OXlRYkluN1ZucVdkRWhWTQ phbGVpM0RhQnlHTkxOcEF3bzhRV2xwV1ZaMlVZTVVtSFVlQWd0ci9yUUh3WGhHT3o5Ni93Y0pwR m1aTmhuVXQ2CjlVTlo5VStlQ3VYMFk5dHN2RU5WRTc4WVRWbjJDcDJFVnNFMmRleG0wRmY1UVVI SGlheHhTM3A1RGRNYzlqTlgKMFhsSi95UVE2QTgwMXVLb0hEMUp5djErNE5kWDBzYkFvQ3d4U3h zbHZRV1VmbmdSQVUrczQwdGowK2xzbkdXeApIaTl0K3ZOdjZJWkxrUXhDTklqY0dPT1VJNXR1aX BrZVcraFBsMU1vOEl0UnJGcFNtSkZaRVk0eDcvblhqWnZCCi9vWWdKZWZnU0ZLRUljNUkzNGxmM zd0RHdMbWNKTEU1QUl6NzJvVnJjdVRqUjhWbUl4WHpoZnVPcWQ2M25nVmwKaHRlMFNXQUZmZFIx dVJDVWdiOGF0L3F3bUl2SmdIcWxjTXk2d0RUcFFCKys1dHl3NXNvbnRMNVo3RnhpV2xESQpIc1V wUnljVVJYWjBILzhFOGJBcDA4M2tWMWJCM1pjcHJtbnNXcGhwVGtpdHFqbU1ua1dhcDR4Q0E5M1 hiMVF2CmVKYnJtSUxVNmtzT2VwL3VkR0RRWDJiZVFsNVg5cFIwb1JYY0tRSStyaWZQb2tDbjlKc UlrSlV4cEtwMzFpakYKWFZ2WkVWUzBzK2FJTWwyT0FWcFhwbFc0RG9tNkt1eW1WQnNtN2R5S1pm MEtGT2E5RFZxSzl6d3ZrdmF6MHpBWgoxb01QaWgzQkhGZjhrcHl1UHd2VTRpZktUSnBNTURza3J CZDNZRnlOK3F0VVZwQ0lVczJHWmRnN0xjRHI4eVZSClZjY1Rsdz09Cj1DcUJTCi0tLS0tRU5EIF BHUCBNRVNTQUdFLS0tLS0K X-Developer-Key: i=manos.pitsidianakis@linaro.org; a=openpgp; fpr=7C721DF9DB3CC7182311C0BF68BC211D47B421E1 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=manos.pitsidianakis@linaro.org; helo=mail-wr1-x42f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @linaro.org) X-ZM-MESSAGEID: 1752836756342116600 Add a CLI argument that takes fnmatch(3)-style patterns as value and can be specified many times. Only tests that match the pattern will be executed. This argument is passed to unittest.main which takes the same argument. Signed-off-by: Manos Pitsidianakis Acked-by: Thomas Huth --- tests/functional/qemu_test/testcase.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/tests/functional/qemu_test/testcase.py b/tests/functional/qemu= _test/testcase.py index bfee6638edf6f9853ead1e3809ae3c9152089406..e137c05baf91f6f88d6228d86d9= 8aa9498797382 100644 --- a/tests/functional/qemu_test/testcase.py +++ b/tests/functional/qemu_test/testcase.py @@ -16,6 +16,7 @@ import os from pathlib import Path import pycotap +import itertools import shutil from subprocess import run import sys @@ -55,6 +56,14 @@ def parse_args(test_name: str) -> argparse.Namespace: action=3D"store_true", help=3D"List all tests that would be executed and exit.", ) + parser.add_argument( + "-k", + dest=3D"test_name_patterns", + action=3D"append", + type=3Dstr, + help=3D"Only run tests which match the given substring. " + "This argument is passed to unittest.main verbatim.", + ) return parser.parse_args() =20 =20 @@ -300,8 +309,16 @@ def main(): =20 tr =3D pycotap.TAPTestRunner(message_log =3D pycotap.LogMode.LogTo= Error, test_output_log =3D pycotap.LogMode.Log= ToError) - res =3D unittest.main(module =3D None, testRunner =3D tr, exit =3D= False, - argv=3D["__dummy__", path]) + argv =3D ["__dummy__", path] + ( + list( + itertools.chain.from_iterable( + ["-k", x] for x in args.test_name_patterns + ) + ) + if args.test_name_patterns + else [] + ) + res =3D unittest.main(module=3DNone, testRunner=3Dtr, exit=3DFalse= , argv=3Dargv) for (test, message) in res.result.errors + res.result.failures: =20 if hasattr(test, "log_filename"): --=20 2.47.2