From nobody Sun Apr 12 00:54:34 2026 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1772634240; cv=none; d=zohomail.com; s=zohoarc; b=bUKVlEcbLCzn4lG1C0hN2eo7Q+lsWzraDlBU2nMNuBswXFnVIs4ZwEqoC5evS6XCLpZQ4PotDW8epeVbh/kFcr6RMBJ4qB2alOe9TJdnnjbTL1rxJOGxbvNJp/D16148cr/eCZwahMjHlHCVJQISci4h+LxSmie3W8OMLjuyb6U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1772634240; 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=tSTjl1rRCQTSLUmPFrvSWqmKYwXSQIbkIncGIVUNYI8=; b=ZntrJKYUXIFOLMf1G5G9w6RFP/ZV+2lGyRJMxq4l6kXIl2a+LhRJErZiJ422Y8Us9+0yWpBISq7Mn8lJXhhOeeaK5hURD88YpiiamcniLtDLkyFfBvGy+64+tRQnHCsrPBV+L1fzqsLHJiLR0v3iHbfljZswkFSHy64pipY8xXE= 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1772634240273173.8205127033466; Wed, 4 Mar 2026 06:24:00 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vxn74-00085l-Qq; Wed, 04 Mar 2026 09:22:10 -0500 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 1vxn6m-0007y5-DG for qemu-devel@nongnu.org; Wed, 04 Mar 2026 09:21:53 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vxn6j-00069j-T8 for qemu-devel@nongnu.org; Wed, 04 Mar 2026 09:21:51 -0500 Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-652-5OXvqH_EMrmXorcr0CFGMA-1; Wed, 04 Mar 2026 09:21:44 -0500 Received: from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id AB91C19560A1; Wed, 4 Mar 2026 14:21:43 +0000 (UTC) Received: from toolbx.redhat.com (unknown [10.44.34.75]) by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id EAE3F1958DC2; Wed, 4 Mar 2026 14:21:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1772634108; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tSTjl1rRCQTSLUmPFrvSWqmKYwXSQIbkIncGIVUNYI8=; b=XzCVEFAlJEXdEShdm+PIJ0gXGx5AbPpfluthmKDzS5DCUe2nloBehid8WxPA4uQAk6YpH9 m1JBrSDKH0fi0ljzypZ2mnjjhFgj5g4zFuRKvVQ403bLVf2YZWWATOy0RYQ/ro9LQpA1ot ZchItKDifc9L+Dkzp+iAZKIzPN3PcjY= X-MC-Unique: 5OXvqH_EMrmXorcr0CFGMA-1 X-Mimecast-MFC-AGG-ID: 5OXvqH_EMrmXorcr0CFGMA_1772634103 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , John Snow , Kevin Wolf , Paolo Bonzini , Cleber Rosa , Hanna Reitz , Thomas Huth , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-block@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Subject: [PATCH v5 04/15] tests: ensure all qcow2 I/O tests are able to be run via make Date: Wed, 4 Mar 2026 14:21:09 +0000 Message-ID: <20260304142120.2635617-5-berrange@redhat.com> In-Reply-To: <20260304142120.2635617-1-berrange@redhat.com> References: <20260304142120.2635617-1-berrange@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.0 on 10.30.177.12 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=170.10.133.124; envelope-from=berrange@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: 33 X-Spam_score: 3.3 X-Spam_bar: +++ X-Spam_report: (3.3 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.703, RCVD_IN_VALIDITY_SAFE_BLOCKED=1.386, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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 @redhat.com) X-ZM-MESSAGEID: 1772634242481154100 For block formats marked as 'quick', only tests in the 'auto' group are added to the meson test suite. The result of this is that qcow2 tests not in the 'auto' group cannot be run at all, even if passing SPEED=3Dslow or SPEED=3Dthorough. To fix this we need todo two passes over the I/O test list. First add all tests from 'auto' group into the 'block' suite, so they are run by default. Then on the second pass add any tests which were not in 'auto' into the 'block-slow' suite, so they get run when SPEED=3Dslow or SPEED=3Dthorough. Reviewed-by: Thomas Huth Signed-off-by: Daniel P. Berrang=C3=A9 --- tests/qemu-iotests/meson.build | 48 ++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 5 deletions(-) diff --git a/tests/qemu-iotests/meson.build b/tests/qemu-iotests/meson.build index bf588cc2c9..1a24d801a3 100644 --- a/tests/qemu-iotests/meson.build +++ b/tests/qemu-iotests/meson.build @@ -30,16 +30,48 @@ endforeach qemu_iotests_check_cmd =3D files('check') =20 foreach format, speed: qemu_iotests_formats + # Formats tagged 'quick' get the subset of tests in the 'auto' + # group, run by default with 'make check' / 'make check-block' + seen =3D [] if speed =3D=3D 'quick' - suites =3D 'block' + args =3D ['-tap', '-' + format, '-g', 'auto'] + suites =3D ['block'] + + rc =3D run_command( + [python, qemu_iotests_check_cmd] + args + ['-n'], + check: true, + ) + + foreach item: rc.stdout().strip().split() + seen +=3D item + args =3D [qemu_iotests_check_cmd, + '-tap', '-' + format, item, + '--source-dir', meson.current_source_dir(), + '--build-dir', meson.current_build_dir()] + # Some individual tests take as long as 45 seconds + # Bump the timeout to 3 minutes for some headroom + # on slow machines to minimize spurious failures + test('io-' + format + '-' + item, + python, + args: args, + depends: qemu_iotests_binaries, + env: qemu_iotests_env, + protocol: 'tap', + timeout: 180, + suite: suites) + endforeach + endif + + suites =3D [] + # Any format tagged quick or slow also gets added to slow + # otherwise its tagged thorough + if speed !=3D 'thorough' + suites +=3D ['block-slow'] else - suites =3D ['block-' + speed] + suites +=3D ['block-thorough'] endif =20 args =3D ['-tap', '-' + format] - if speed =3D=3D 'quick' - args +=3D ['-g', 'auto'] - endif =20 rc =3D run_command( [python, qemu_iotests_check_cmd] + args + ['-n'], @@ -47,6 +79,12 @@ foreach format, speed: qemu_iotests_formats ) =20 foreach item: rc.stdout().strip().split() + # Skip any tests already added from the 'auto' group + # as they're run in the 'quick' suite already + if item in seen + continue + endif + args =3D [qemu_iotests_check_cmd, '-tap', '-' + format, item, '--source-dir', meson.current_source_dir(), --=20 2.53.0