From nobody Sat Nov 15 09:22:48 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=1752830371; cv=none; d=zohomail.com; s=zohoarc; b=NJwFlfGiIpxMP+DmD84FeLZPp/8lHxHO06fb+6amun3bmTGYvAfOyTFBxPY0Gf4h/2vvUzF4n8clr49aAy6Z8y8VXFhPtXEsVIx8YYyY+mvPOwRQg+3W9UIzh+4EggfAhENp3KQ7lRQKm4YGvRY80E+H51Y2XSZIeYg6Fu3tk0o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752830371; 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=SKF3ehNzKZl68TtQb7ciFFbjhoSNV+hIsBspL//2FtQ=; b=naKGjVj6+/bJbM1NQAsXaP7oWq4+dr1GJ3oZAqhzLjSpvPvD6A2JJhD8BIO2/GzBEx5ww5e+VdV1lXzeEVIUlFHfdaP/YdmFjD5mgw/wuNKWl+HRwxWlctH2atA8Pkpr5/2hrAGYppH+HPNjghp8nxbbLJRRAXD0CL3wOW8s62A= 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 175283037142653.94526133256363; Fri, 18 Jul 2025 02:19:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uchEN-0006Ji-8K; Fri, 18 Jul 2025 05:18:15 -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 1uch9r-0002KD-Ub for qemu-devel@nongnu.org; Fri, 18 Jul 2025 05:13:36 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uch9q-0000Lp-39 for qemu-devel@nongnu.org; Fri, 18 Jul 2025 05:13:35 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3a54700a46eso1098367f8f.1 for ; Fri, 18 Jul 2025 02:13:33 -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 ffacd0b85a97d-3b61ca487fdsm1267145f8f.48.2025.07.18.02.13.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jul 2025 02:13:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752830012; x=1753434812; 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=SKF3ehNzKZl68TtQb7ciFFbjhoSNV+hIsBspL//2FtQ=; b=NkCqqtgpquOyb81VaLqwOXxg81S1sEihpTGnbtAYxoELCiCkRbgYdmB8584w9b3OQX ianNIUeq2vVZKQdRK6GkFkJaaHo5J4fA/tJzhwrjR1ufhvN4DXUEtC/S54sCeIB6aDwu C5MqUTAUEVkI7T9YiCv4hwsQr4bUnr/iOZimqwy66UX12ZEhEUArL+sQcH4TWssJ9sN8 7GYGFzT69I5HyI/IXdNVdIg7Z6CELfrJDoRLbcMU/KU4qKWKQKIFckQcD/IGN9jIVmX4 iXdwGvJSUuCsKK/KSdF85IXblabmojIfLjmvs9jD7pfaaAqiy/nxZFqQwSE4cjbGOn/O zj1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752830012; x=1753434812; 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=SKF3ehNzKZl68TtQb7ciFFbjhoSNV+hIsBspL//2FtQ=; b=BSC57BO0N8O9EMPQsxWTe3HrCNmHP+WQWaj0VKbnXlk7ly3fhx1Df+JhvyYvKyq4pc mRlVMKIw6UHHu1BgsLoMGvpbT58tbUiVrRmQT+zxWjvv1J+/7qylgXDfmp4/FxQpYW6r BhjyMmGt4y7vCQ9jYeQmN8an7cGEPp2zpk7+CdDRLym03CzTQXSkUbigMiXDlWSHAcaq 5VSNtgy8yjof/9d0fwLFm4diDjb4+56qKvZsQh8N7qQfpI0oCACYdvzujSSRY4iG4GA7 ReKO69jfKBgcImHdUtXA6LLmh3vmqjHLKDu5AWcFvxLbxN5RqTw8YzBcIihT68xYX5/+ eAlA== X-Gm-Message-State: AOJu0YwrwT6V5GxZbSm5izJIfC74JMOPd7X0O35YwkQQuE+st44+qRwf UacNI3mqUQwEh0pr4EjJaN0aS5MDqOGsq6cb7WPNvoFiY1GwzDfZS7s6ivHc86FdE/o= X-Gm-Gg: ASbGncv1EtuFEcsEdOVXBV1+eDNGosCn4difOQG2S/YjG8fVzLi7J9I081j9WyUTX0d cDxRuJlEzFpNLN5u9Q2R5YSWxZq232wpTVFP5rdFvBUpqHAIaXa+QpQplDF+ZEau8C6eDxxBTLH OSC+S8QxJxHNGjlVzaexe2rn3c3VTnii7kLaaJ1X9M27z99wCSYEzmkkSUW2w8fh71TT+BpGuJP xeBU+93nXP1ULhC9NbtkKfJRkf5L6rEU0lupbYornFkb0kWnBPX396b+//a+DhiNKccUWUECHZv lgshAcfoR1ZT2u36JFzDrtd9Tx9WQa2WxkfIIvZZoQ92yx0supHXaUK2GDM3ymRlRQ2lILHQPQa LB/PsDOm7YLuQL5v9hT98cydksDiwUxUdxbiReF1Z2i0H2zOvui5S0vlnEpUutL33Kbs= X-Google-Smtp-Source: AGHT+IGSTLDDWNho2cSUsFwUTQm9wJm8GdFyiyhOJ/hFnBmZQEM9zGiju1OaUCEI/3tNR9Y9oOdYrg== X-Received: by 2002:a05:6000:5c2:b0:3a5:39bb:3d61 with SMTP id ffacd0b85a97d-3b613e982e0mr4489067f8f.27.1752830012170; Fri, 18 Jul 2025 02:13:32 -0700 (PDT) From: Manos Pitsidianakis Date: Fri, 18 Jul 2025 12:12:52 +0300 Subject: [PATCH 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-v1-1-54d4c6207690@linaro.org> References: <20250718-functional_tests_args-v1-0-54d4c6207690@linaro.org> In-Reply-To: <20250718-functional_tests_args-v1-0-54d4c6207690@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 , Manos Pitsidianakis X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2126; i=manos.pitsidianakis@linaro.org; h=from:subject:message-id; bh=K5a2gnPN4N6QNLdI0OMBeHelXA8feQoDvJsJwXPmMHY=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0VCYlFLUy9aQU5Bd0FLQVhjcHgzQi9mZ 25RQWNzbVlnQm9laEE1REYzWStyMFVEUTFRYTA0dFlKa0htTzBwCk1kbFNVZmRPdkdONVBpaEJS T21KQWpNRUFBRUtBQjBXSVFUTVhCdE9SS0JXODRkd0hSQjNLY2R3ZjM0SjBBVUMKYUhvUU9RQUt DUkIzS2Nkd2YzNEowSmtaRUFDQ1ZnbFVUUE5tV1g3WlBNL09LNFNpL2p2N3I0M204TFdGYUt0TQ p1RzVDVFNlV2UyQVYwd21mNnBNTU5IdXBCZmErajg5TW9XMjBQWTFQWnhvWUdOVFdIUVU0VGxJY XB4RVE1RTdlCnErZ0JMdFZrcHFvREVoREExTzFHdFVCVVJsTitHVDZmdENvYXdkTm15YmtpVS9l QTZQVE9NcGlqN2ZjOEdYQ3EKbEtjN01iWXRVdzRIRVNpWGFDelhRUlRGQ2pCeGgvM0xoK2ZKSEx yd0F1dnBmdU1meHNTMmFJWDRPTVNMZHdwSgoyUGFpWnhHVWZ0ZldQN1hxMEk1TkJSUFNNR0tWUD FlU1o2NlJhMmY3dEFFb2pkbUZKaUFaR0M5eTRob1lkWDhGCnJIcU81MFBkNUc0NUh3Y2xtZnkwV ERpcjNyODlzaWpkak1IQkNGS3owa2NXUWF4UEVySDBqWmlLQU9aaklRSDMKYkVhblM2UEtnajJh Yi9kaVFyNzY0TSt0YzhPZFBDV09yNXNPcUtjV3JXdWpOS1R2Y3BOY2ZiMGpSaURKN1QyaQpBOHh CTmNacTFTQ1FmK2dLcWREYi8xQU1JZWdDcFZ2alg3WlJUczJjM2NiWktIQW1SMWtNd250Y3lFQi tXVUo2CitENEJWazdiNDMyekpSTXBEOXZwQWNqWUQvdElwMlVTa1VtQUZpbWRta2tBL0F0clRNd TZOYjVTVGZaeDlMVGEKUzU3TzdmLzV2ZGxMcmNGcUFVWERhalg5dnhEWm9uM3hCdmJVOFExTS9D UmEyTEpJb282aEZ3RHY5eFFsZVNLcQozcHRiendIbFNab2Uzc016OXl3MXdOVDNaS1FJM09Wb0J 4bnUxUXh3WjlIcUlRNWxxandyZnMzZk9NeVpadVNjCnVtY1dyQT09Cj0vU3d4Ci0tLS0tRU5EIF 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::435; envelope-from=manos.pitsidianakis@linaro.org; helo=mail-wr1-x435.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: 1752830371975116600 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 --- tests/functional/qemu_test/testcase.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/functional/qemu_test/testcase.py b/tests/functional/qemu= _test/testcase.py index 3ecaaeffd4df2945fb4c44b4ddef6911527099b9..24f0b452964012532530a92018b= 2c4367b39fb77 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,10 @@ 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 +266,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 09:22:48 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=1752830351; cv=none; d=zohomail.com; s=zohoarc; b=hi8iGVP1h3TXYYJayYhb+rVLeTPU2EBmHaKmu4VjqkdF4augAOKjBpaa5JpNoO1oEtNhR5zYcDi93Foc2UNLx7MhUT3otSSpyg77hlJDgwFijvIAE1nAKjQNFnlaYkjud9QYZlgflE+xKp8II2XmKP22AmO26adP3dmzSU1end8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752830351; 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=OzsBvEnuBuem8f8dBJF+l6tBY8V6RE8gWcsguX/ipV4=; b=NBsNugz/ssW1Ubv+RPmWXjHrbynPP9MzbA8TuFjtokm7WrNWgyfjzhFjH6g6SUBE+ebX2WX5ldX+y0STr1ZMjFwvBwYPwOBmWBrSUhSl9QBhhKmU0S/1ozuNcKnym5tXMYE/03BpunFYAR7ylSrM1bmvPOiB0zjtc567XAKYv7E= 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 1752830351855347.1709120041937; Fri, 18 Jul 2025 02:19:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uchEG-0006AS-Uo; Fri, 18 Jul 2025 05:18:09 -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 1uch9t-0002N5-BC for qemu-devel@nongnu.org; Fri, 18 Jul 2025 05:13:38 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uch9r-0000M9-9w for qemu-devel@nongnu.org; Fri, 18 Jul 2025 05:13:37 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-4563cfac2d2so3028755e9.3 for ; Fri, 18 Jul 2025 02:13:34 -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 ffacd0b85a97d-3b61ca487fdsm1267145f8f.48.2025.07.18.02.13.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jul 2025 02:13:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752830013; x=1753434813; 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=OzsBvEnuBuem8f8dBJF+l6tBY8V6RE8gWcsguX/ipV4=; b=DoTpzlej4PmSpjZd3LhO0q1I/DAgW+3ySoP6HoHCUHA1nOVkBwgWeDQ8sqzBPUsftz U0DUk+8CMEvDhK7WhpjT1g6AVMm4BIGHbmo7syw7Y4borupDvjc8DAl8+xgVpEWRZ7VB 83OfWBk7B2szHf4xaqzbVuAxxMcu+fpSc9edAtzss+kLSXDxa27C83e5TIlDyDtySM6B Fm4SR7fx3IF78ATP/TJVFsyFIqzVSncRInbvzoh/1TjL298uPIiqNTj3iGdSN00h+mL/ Pe/pj8rRZeDgO2pAOeB0lvDXYKb1ChkxvSZIVgknMk3IznG2aIwfq3wU2CmvBL37/K0D RNYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752830013; x=1753434813; 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=OzsBvEnuBuem8f8dBJF+l6tBY8V6RE8gWcsguX/ipV4=; b=WTUmqC+O5/UhlrBatroG/cv+y2MMiQrI8P0xojzMTbNjUOZvhFLsLjVTZUdPNvZ7js jYxU7kfjkQiAeIOpRiCOZHAbPrastF7he4k+ZSjavZijUvYk5R0ieCL4PiJlvaT9LY0i sOU/EJp2g8kF/6/2cJJhZ5jjo8r2vv58J6c32h5lkp6ZSUf3LvRxNTbKP+jcfKgeU08V OPiO4r1Sya6Q99gFzKNroNdB/ZFYvM3jEfiUTlMLGat3eglFAEPeT1hHCtbLwdo9mKYc BGxJiQYZLgBGB3OaICNrTLUicVsC95L6RQSJ1N2CNHk8cjC1hl+LhHrVXFwzfhLsSVIr O20g== X-Gm-Message-State: AOJu0Yx7Nuk5o+cFGtnVtP16sXl2pb9x4hjldXPHPejYHOS4Fto1D6Dz 10RGqk5L7WhMTFq2MFLbrxf/CIreSwQNUe9eVIG2f+7y8yuA5V/vnSiWqcotC23FiZs= X-Gm-Gg: ASbGnctFTF8TkT8TiZj8/7M1bEr4ouZTYSlApXt8lz2Pmh9ryBSF70Ct0qvGfHj/HIo h7IDRw4ZclZl6NT5vtASX80e/xku5gRmaP+nzG6hT5RnbVeGP+BZv1RY/EFRBqbEhhzgJVuSxLh jJNl1PYkZvrhaq6uqfNcy7qimgu1HH7z7/X1tpJt65ejEuI7i6i6Hcc14Sk5IMYY1+gn6pwyrFz oQyNX3QZ0ZOw+Q0qSbY1FRJUPLujWi5peOpVZdB9HPfEf26Nx0AH2K1mao0I1g5nhwLiebbQIUp ds2jYBvlLr7cknm9l5Yu735kWYQB1/Jx9v26jMQePVbjt691Ld4417LB7lwxhIQmhkC82/Augk8 iDYv3pSpre7D1Kdz2xbq/S4t0U2H2ckHh0Kx7BwxFszyOepKMZnHIp91064BUJBEDYMo= X-Google-Smtp-Source: AGHT+IHUla4UM9rIQP7MbPg6r/ODOlALUh4jSjsPVFoV1ccjBTZtgXagt0ScEUwbbx2VOWaTAtfGgg== X-Received: by 2002:a05:6000:2c11:b0:3a8:6262:6ef5 with SMTP id ffacd0b85a97d-3b60e4b80a6mr8874595f8f.10.1752830013373; Fri, 18 Jul 2025 02:13:33 -0700 (PDT) From: Manos Pitsidianakis Date: Fri, 18 Jul 2025 12:12:53 +0300 Subject: [PATCH 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-v1-2-54d4c6207690@linaro.org> References: <20250718-functional_tests_args-v1-0-54d4c6207690@linaro.org> In-Reply-To: <20250718-functional_tests_args-v1-0-54d4c6207690@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 , 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=L7NfVvYqmwA+Lo4/7oYRawHYzlttF/tNf4Bie8Kzyes=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0VCYlFLUy9aQU5Bd0FLQVhjcHgzQi9mZ 25RQWNzbVlnQm9laEE1Qm4wRTk3Y3U1bm0yc0VOdlNGT00wMHpRCmZIdnA1TlhjZmlJMlI2TDVJ V2lKQWpNRUFBRUtBQjBXSVFUTVhCdE9SS0JXODRkd0hSQjNLY2R3ZjM0SjBBVUMKYUhvUU9RQUt DUkIzS2Nkd2YzNEowQ21yRC85Z3JZSTFKK09FSnpXNzNKS2FjQnVacCs2WXFzZ2NheURKemsvUQ pDNnB1RzYxZDRaclg1OWp3T05ZSm9UOFphVU91SmFPY1c1MCtpODZjMEZKQ0hTamtmQW0wUWF3a 3l6SC9UUk03CjAzT2xLQ0wvZUlVOWRaYjVGMmhObStzcldPVktmQnBYT0RWc0VZdzJKRTh1R0VS bTlmY2paaHJFbHAvaUh5OXUKbEFQN1YvZlNOdnFjOEp0cmc2RWc5MndHOXkxT0RmRUFCUGNxSWZ Yd1JZQ2xqUCtBYWVBanBZa3pycUlJTFdnRQo5QXNFRmhpRjFSY2RBWHV1TmUvam53SlRSN2tOSU E4MHZVdUtaV2JwdmdROWFadDdlekszeWJYYXJuMVNkU2Z0CjZaRXBPSFVmb3RYRTJnVGI4RVZLN WUxQVF5bm5ZM2Q5TkU1NzlaL3YvY3JsbXRwcUU2QW91S1FydEpVTllTSUwKRGh0RFZiUjhsRzlG YUliaVE1Sjk2SWtIWk9uWk1YYU1pdmtnY3BtTE83N1ZLdU41bkpMMFoxRVJnZ3p0ZEt1OQpvcHQ 2MTgydnlpdHRPdzhwcXorOHZ5RTBDTGU3NVBlM29Lc3dVYmpHaTdNanFkRnZRS3NtTThoR28wUk FsVlRlCm9ibkc1ZkNjUGNROTY3TVZ6dGxGZEUwTzlaMTlJcUFBSkl2ZVpjT2paMVhSNlVYck9hW TRka0hDUDQzS01HK0kKSkNrdjdERTV0QnRpekxYNU51dUhPSjBIVHBPQ2FQSG9GY1RNSkcvN3k3 eHR1eTl4SjF6cCtuMkNlR3FNb2VJVgpqVEEvdXg1enU4MUNFZE1yaURMa2ZNREFTZHdrQURpbmF UbUtXdk5NNFRrVFZHWk5MYW9YZ1FLdFVCdkpqQUIxClNqQ1kyZz09Cj0xK3NiCi0tLS0tRU5EIF 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::331; envelope-from=manos.pitsidianakis@linaro.org; helo=mail-wm1-x331.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: 1752830354042116600 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 24f0b452964012532530a92018b2c4367b39fb77..4455fcc38016c14db04019bbd64= eaae9b47363c1 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 @@ -281,10 +286,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 09:22:48 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=1752830364; cv=none; d=zohomail.com; s=zohoarc; b=f4uMZtda6c3X+es6coQ6vzHBpXEZURzE/M0UzAT1prMTsDoSznVwL9cNzC1s3UYa1MoKVMULaTZxPg6qrvf/yJ9ti/fM5sUvp4pdMNqtvtNy5d8iAHussfiWMXwvRi63ib08lNRkqNDJImgE0v95jnklfOePqc1Ty99nC5dDQVM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752830364; 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=5y0mBgXrmDS3hH/TI02TmHONGftjjb8PmM1JkTQOtQQ=; b=ea28bXxyWhIi9lnXTkwTkc/0lzpJ9HbglhSK8OOiuL+QQyo55MSel5JwBqLgY7dYc3d4vxv87wgAuAlVi1DNJ2J8hr7HfFYQr4cy/chr35CNp2BO+3jni1EU21ce6x9ExALluEqEsgX3317qJjTbxQLCtTjrncS+ut/HXrg1SyY= 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 1752830364311560.8454316958836; Fri, 18 Jul 2025 02:19:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uchEz-0006x3-Ma; Fri, 18 Jul 2025 05:18:53 -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 1uch9u-0002NW-Hn for qemu-devel@nongnu.org; Fri, 18 Jul 2025 05:13:38 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uch9s-0000MR-MA for qemu-devel@nongnu.org; Fri, 18 Jul 2025 05:13:38 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-451d3f72391so17902535e9.3 for ; Fri, 18 Jul 2025 02:13:35 -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 ffacd0b85a97d-3b61ca487fdsm1267145f8f.48.2025.07.18.02.13.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Jul 2025 02:13:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1752830015; x=1753434815; 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=5y0mBgXrmDS3hH/TI02TmHONGftjjb8PmM1JkTQOtQQ=; b=Aq8QE37k1dB5iYwkrlA60zv1bGcszqH7oGEUSx1S6cRDJpa3HGtPAxLlcKszDxhlQH q1ANIU/kUfsgRraGc5r9KGNAu0lkpmluD1nksRKkRn1q1NDISJTUsZumkeBcRqEAM0Rf DW/1sDWBgpPtTeChci+0tf5pqPqSNHi4oW9gg/6QoS6+vcWYCgIRIMmaq1qI21/vdi4b PrFpJmOdJFUrcUfblN2itz3ehMUKZZKOKCtEwR2CH6xfqUyVnnnw0PVNTLPdbm6mjQiL DwoPMd5LEA8xMZbRpFYwBG1b30SjuC5Hpi7gL4sUDENRCX9vRHAQ+s3kkak0YJ2AYsxa x9gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752830015; x=1753434815; 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=5y0mBgXrmDS3hH/TI02TmHONGftjjb8PmM1JkTQOtQQ=; b=ftRr5p6DXDFk3fDXR7fYxmbcVdFCdyPlqTpaDtaLjqmCEk1XK4bj1fUbFeVAdwCzkh rpkBfvCGTN3PvNXEd5fAIeV7Di2zDtcCcHN5u4F1yMgLlFpQSxYee2xmBzgMvYM/dXvz IgLRWDYKI7QT9GnJUzn9qN72HQIO94cZkdQhW2A/mRTznCYqSbHaglTsT4kpTRMoY9mN 6JWbskT883gGYKZS5y4mCTTSH4OvZwtIRuyx9EHVYHE35Zb2hq3eaQOIdZRjKA3q44mf gCJe+Gj7r97ms+AGjYmGx2yDI9bbWXEIiD23vhUSCsWz8QBBLHx8vsWL8yol/uIDoaBk k6Sw== X-Gm-Message-State: AOJu0YyJGPaDdQeo1v2vvZeo9ygaGNRvEm5Ch/l6OsViPZVx8nr3OMHH Hmcw714PuoqkfTSCTaq9nNz5CoShkrs2komBYPPiILBr2MUGdRSjQEqfkuWUodvyxok= X-Gm-Gg: ASbGnctsOMAnCJuSJzS0xqNq1/kaGYoe8km0NEzp5u3KSJgg9iN6gg3BP9WN5j7AYvv 1+LOwNxSrNMQZsPYmpxvuz7k4EbwYFW9/JiJreiqWhp/maLlO43g1Q+Xiqg3zzWgb0gr5DnTut1 MfvWcX5XrFzVHpVP/rQ8DHinxDxq/AHHV4P3V+vOD/3XnLmv/bc7YZiTmV7oZbrmZP5xzaXrwXv rOURznbZ8ZSFc+7Aeg/aGib5WdgatG6DqsKNdzd137vsxGJwaVKA79vwozJVkI+u9s6ZiZNCQOz 3+2LiILSlUX8Zau7X45MkBc+o7IIEmx3Q3iDwIUt4YTikX8fQn7eMWtwREHQg2kGBwxOgld2vdN /E2iCIWe1MR3zIXsTctlRpXq6LW1+Afc3weFmW4hWvmrYJaKIRZkO56YP46edCawRI8N67ZgOuU rcgQ== X-Google-Smtp-Source: AGHT+IH26TZOlXiKMAJessNtnfGni0jwKCETPsuSn0RMVzw5SdxHeD3t9dV6o2Heksn/H/nGLccErA== X-Received: by 2002:a05:600c:a305:b0:453:8bc7:5e53 with SMTP id 5b1f17b1804b1-4562e853505mr84291485e9.0.1752830014628; Fri, 18 Jul 2025 02:13:34 -0700 (PDT) From: Manos Pitsidianakis Date: Fri, 18 Jul 2025 12:12:54 +0300 Subject: [PATCH 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-v1-3-54d4c6207690@linaro.org> References: <20250718-functional_tests_args-v1-0-54d4c6207690@linaro.org> In-Reply-To: <20250718-functional_tests_args-v1-0-54d4c6207690@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 , Manos Pitsidianakis X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1844; i=manos.pitsidianakis@linaro.org; h=from:subject:message-id; bh=80H8891T8c/kBfQKrgmGneoP6IgO83uKmcWZ5Z0ox8U=; b=LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tCgpvd0VCYlFLUy9aQU5Bd0FLQVhjcHgzQi9mZ 25RQWNzbVlnQm9laEE1bUNRaGVjSzg3dVY0VnR4TXlZZ2FCWFljCmdTaE4rdkJzRmxOV1YxOUlU ZGVKQWpNRUFBRUtBQjBXSVFUTVhCdE9SS0JXODRkd0hSQjNLY2R3ZjM0SjBBVUMKYUhvUU9RQUt DUkIzS2Nkd2YzNEowSVlyRC93TVc3ajRIYTZWQk5QRjFteURnaHU4dVY3SFdwTzNIVzU5U0RGRQ pGWGpLWElIRWJTWCtOUmFXR2kxdS9vU0FZUXl4VnMyNFFqUEllcWNxNTVzQkxHUm8yU0V6dXFKY UhwbHBpK2JUCjhrZXczeXM5bThjVEUyYnZoRTl0M2lyOTBmYkpPTFpNdlFGWG9NSHkrNXNWVnBw UCs2V2ZBeUpGRDA4eHNEZVgKM0VkV3ZlRERhRFBoVGJZS2xoaEM3LzR0eEdoSTdBejBpazQ5NE1 CUjR3T0tPQ09sbGNYTzU5ZlBSVUhmY0NBKwoxZStqc3dnSjJhSHdhL3BaU2dQb2hmT01CaDNaak 05RUZJZ3JHMHVCVU5HZktLUDB4TGZFOE9STVdkMWJnSDBiClQvK0NBR3diWVBocFNsZGFQa3g4b FNDbnNVR0ttVVZqZzI0L0xTWjhmeCtFRVVJN1BXWlhDRVUraDBWdW9iMEsKbjdLMTdjb2hqWTFo Q2VacDBMMkRKSkx0REJqdW5HSWtWb1h1TEZRc3loMmI2cUpseUpJQUFnWVJ4NGlWS0szeAppYXl UblNINUxoZDl6dnAySUc5VzlyeDlkdkppbS8zVWR3QVlRem53NFFmZnRjTll1NWsrQlV1eVd4TH NsYVg2ClQ1b1pFUS9mMXJUWmo1T0NCMzNpcU9FeHpPUGEwRzVueU9GeXV4R3R4M0JHM2Jid2dXe kxDY3FPUnJwMklmMlIKN2xxT1Bnb0F1TEhvUzVIUDJ1TVg2eEFKcFZ6VStyMkNUUFRGandpUDdP ejJ6VHJCTjNSNXRKa20ra0pPU3RxYwpmTHdxaHVpSm0xUTJ6Mks1bUJENzQ2VEsvTVpGcW9Ob1o 3Yk16TjMzdDZ0YVpUb2VDZWRnUzlZdktwZWJpV2p2Ck9yakxEQT09Cj1iUTQ2Ci0tLS0tRU5EIF 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::334; envelope-from=manos.pitsidianakis@linaro.org; helo=mail-wm1-x334.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: 1752830366106116600 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 --- 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 4455fcc38016c14db04019bbd64eaae9b47363c1..b7a660fd729afe39ff8cf7a0be9= 7c2fc2f2f573f 100644 --- a/tests/functional/qemu_test/testcase.py +++ b/tests/functional/qemu_test/testcase.py @@ -55,6 +55,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 @@ -301,8 +309,12 @@ def main(): =20 tr =3D pycotap.TAPTestRunner(message_log =3D pycotap.LogMode.LogTo= Error, test_output_log =3D pycotap.LogMode.Log= ToError) + argv =3D ["__dummy__", path] + ( + (["-k"] + args.test_name_patterns) + if args.test_name_patterns else [] + ) res =3D unittest.main(module =3D None, testRunner =3D tr, exit =3D= False, - argv=3D["__dummy__", path]) + argv=3Dargv) for (test, message) in res.result.errors + res.result.failures: =20 if hasattr(test, "log_filename"): --=20 2.47.2