From nobody Wed Apr 1 22:11:01 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=1771956988; cv=none; d=zohomail.com; s=zohoarc; b=cVKJOIR5oDV5B8XdlRMMnOx1T/Kptd5ffzl9BWcGLKJ7SutlzitoHIzghB8QMfDyiXMENS/QPObOGtcPWxXOetKD/yteC1gZvKA4t6ZdjQvjzABULZFsy+8eCI5s4fzCSXRVNLwDAW/bK0Fn64vbNQ5A/IAtHB21DnhthPgeeu0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1771956988; h=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=BB6k1Yuqh8r2auHo9z9gtPD3srjd7Bdv67UXTNWqvGQ=; b=bdseuc4RwgYA/Vg4a14wbPM24dImq9mZoQwPFcFltaYZNdZ/2NMK+EhMNlwSFtcP2HDJA4RFYABESwRBcV36rUHRRuKn7yMRL+iV7DI/9HauWNKJs3JLIZwuBhHVVhJywsmmX+gbPsVw6OqCBBjh5gzdSRvFoQ2dZkA6GXh+Mls= 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 1771956988139414.16830066505577; Tue, 24 Feb 2026 10:16:28 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vuwxK-0003am-Kz; Tue, 24 Feb 2026 13:16:22 -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 1vuwwi-0003Ae-1q for qemu-devel@nongnu.org; Tue, 24 Feb 2026 13:15:44 -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 1vuwwf-0002MF-96 for qemu-devel@nongnu.org; Tue, 24 Feb 2026 13:15:43 -0500 Received: from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-34-M_j-pofqM4yD2Wq5-ZzS5A-1; Tue, 24 Feb 2026 13:15:33 -0500 Received: from mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.93]) (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-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id B4BA918004AD; Tue, 24 Feb 2026 18:15:30 +0000 (UTC) Received: from jsnow-thinkpadp16vgen1.westford.csb (unknown [10.22.89.212]) by mx-prod-int-06.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id DEA831800666; Tue, 24 Feb 2026 18:15:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1771956934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=BB6k1Yuqh8r2auHo9z9gtPD3srjd7Bdv67UXTNWqvGQ=; b=HY0lXFYuFfAg/9VjaDh56MReyixxrIXHG4sRKwECZ5bwlHu6xN7hN5xdb64Py67ixcV+r7 TW0oqfJKk+Cok0WMBifik0ARwszjqPKGmHKf9CE5P9g9CV6kj4uQ0AQvJuHnCOTgXe/gFl xgbovArbXgJREcsFwwLn/J74Il+J/9Y= X-MC-Unique: M_j-pofqM4yD2Wq5-ZzS5A-1 X-Mimecast-MFC-AGG-ID: M_j-pofqM4yD2Wq5-ZzS5A_1771956930 From: John Snow To: qemu-devel@nongnu.org Cc: Vladimir Sementsov-Ogievskiy , Kyle Evans , Thomas Huth , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , John Snow , Warner Losh , Markus Armbruster , Michael Roth , Fabiano Rosas , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Maksim Davydov , Peter Maydell , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Peter Xu , Cleber Rosa , Ed Maste , qemu-block@nongnu.org, Li-Wen Hsu , Hanna Reitz , Mauro Carvalho Chehab , Kevin Wolf , Paolo Bonzini , Yonggang Luo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL v2 07/19] iotests: tolerate being run outside of pyvenv Date: Tue, 24 Feb 2026 13:14:26 -0500 Message-ID: <20260224181440.832943-8-jsnow@redhat.com> In-Reply-To: <20260224181440.832943-1-jsnow@redhat.com> References: <20260224181440.832943-1-jsnow@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.93 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=jsnow@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 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_VALIDITY_RPBL_BLOCKED=0.358, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.659, 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: 1771956990046158500 Content-Type: text/plain; charset="utf-8" Modify the iotests environment preparation so that it can detect when it is being run outside of the configure-time virtual environment and give a warning to the user, suggesting the use of the meson run script instead. As a bonus, since the test executor itself does not actually rely on anything in the configure-time venv in and of itself, it is possible to just modify the python executable it uses for launching tests to be the correct, configured venv that has access to qemu.qmp and other test dependencies. Reviewed-by: Thomas Huth Tested-by: Thomas Huth Message-ID: <20260218213416.674483-9-jsnow@redhat.com> Signed-off-by: John Snow --- tests/qemu-iotests/testenv.py | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/tests/qemu-iotests/testenv.py b/tests/qemu-iotests/testenv.py index 29caaa8a349..c357e6ebf50 100644 --- a/tests/qemu-iotests/testenv.py +++ b/tests/qemu-iotests/testenv.py @@ -20,6 +20,7 @@ import sys import tempfile from pathlib import Path +import shlex import shutil import collections import contextlib @@ -140,7 +141,29 @@ def init_binaries(self) -> None: PYTHON (for bash tests) QEMU_PROG, QEMU_IMG_PROG, QEMU_IO_PROG, QEMU_NBD_PROG, QSD_PR= OG """ - self.python =3D sys.executable + self.python =3D str(Path(sys.executable).absolute()) + + # QEMU configure-time venv python executable + venv_python =3D Path( + os.path.join(self.build_root, "pyvenv", "bin", "python3") + ).absolute() + + if self.python !=3D str(venv_python): + runpath =3D os.path.join(self.build_root, "run") + cmd =3D ' '.join(shlex.quote(x) for x in sys.argv) + print( + "\n\033[93m\033[1mWARNING\033[0m: " + "iotests is being run from outside of the configure-time " + "python virtual environment\n\n" + f"current python: {self.python}\n" + f"pyvenv python: {venv_python}\n\n" + "Individual python tests will be executed inside the pyven= v,\n" + "but the test runner will continue to run outside.\n\n" + "\033[1mPlease use the meson run script:\033[0m\n" + f"\t{runpath} {cmd}\n", + file=3Dsys.stderr + ) + self.python =3D str(venv_python) =20 def root(*names: str) -> str: return os.path.join(self.build_root, *names) --=20 2.53.0