From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A8491D2E008 for ; Fri, 5 Dec 2025 06:04:21 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vROsu-0001Ue-BV; Fri, 05 Dec 2025 01:01:40 -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 1vROso-0001Te-1u for qemu-devel@nongnu.org; Fri, 05 Dec 2025 01:01:34 -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 1vROsm-0001BW-Nr for qemu-devel@nongnu.org; Fri, 05 Dec 2025 01:01:33 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1764914489; 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=FmetUOe40hvzGOIp7He7kbSRjBEg+7e6QkqFhTBp49c=; b=bZJcoEPgJ11wueW/cN6hV6nMombn+dMtrXN7YgDu/23fJ8S1gZSFkHE4bUdp272RbyjZ9+ 4aob+/jj8vTAHQa5/M1y60kRdLyRKICKlBPsSrSj/zCZbI6FvHpmigCgNakImkf/nzhZWm IR4LxWs49TFW7N+Hq5K2AmKaacLO1rY= Received: from mx-prod-mc-01.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-96-KV8qKifzOlqZbEkgDq_YBQ-1; Fri, 05 Dec 2025 01:01:25 -0500 X-MC-Unique: KV8qKifzOlqZbEkgDq_YBQ-1 X-Mimecast-MFC-AGG-ID: KV8qKifzOlqZbEkgDq_YBQ_1764914480 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (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-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id BE04119560AD; Fri, 5 Dec 2025 06:01:20 +0000 (UTC) Received: from jsnow-thinkpadp16vgen1.westford.csb (unknown [10.22.64.55]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 70CF03000701; Fri, 5 Dec 2025 06:01:15 +0000 (UTC) From: John Snow To: qemu-devel@nongnu.org Cc: Cleber Rosa , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Paolo Bonzini , Thomas Huth , Li-Wen Hsu , Kevin Wolf , qemu-block@nongnu.org, Michael Roth , John Snow , Markus Armbruster , Hanna Reitz , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Ed Maste , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v3 03/15] python/mkvenv: add 'checktests' and 'functests' dependency groups Date: Fri, 5 Dec 2025 01:00:45 -0500 Message-ID: <20251205060058.1503170-4-jsnow@redhat.com> In-Reply-To: <20251205060058.1503170-1-jsnow@redhat.com> References: <20251205060058.1503170-1-jsnow@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 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: 12 X-Spam_score: 1.2 X-Spam_bar: + X-Spam_report: (1.2 / 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_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_SBL_CSS=3.335, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, 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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org 'checktests' contains depedencies *required* to run "make check", and as such, we promise that these dependencies can be sourced from the user's distribution repository or from vendored packages so that "make check" can be executed offline in an isolated build environment. In contrast, pygdbmi is only needed for functional tests and not tests in general; we do not make the same offline/isolated guarantees for functional tests, and this dependency group is allowed to fetch dependencies from PyPI at runtime. For the time being, Amend the "check-venv" target to install both dependency groups, to avoid a duplicate dependency between them. Signed-off-by: John Snow --- pythondeps.toml | 10 +++++++++- tests/Makefile.include | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pythondeps.toml b/pythondeps.toml index 1657953ff65..14ceb4e7787 100644 --- a/pythondeps.toml +++ b/pythondeps.toml @@ -31,6 +31,14 @@ meson = { accepted = ">=1.9.0", installed = "1.9.0", canary = "meson" } sphinx = { accepted = ">=3.4.3", installed = "6.2.1", canary = "sphinx-build" } sphinx_rtd_theme = { accepted = ">=0.5", installed = "1.2.2" } -[testdeps] +# This test group is for dependencies required to run "make check" +# successfully, and should only include depedencies that can be +# guaranteed via configure from system packages, or python packages we +# vendor. +[checktests] "qemu.qmp" = { accepted = ">=0.0.5", installed = "0.0.5" } + +# This test group is for functional tests, and can include dependencies +# fetched from PyPI. +[functests] pygdbmi = { accepted = ">=0.11.0.0", installed = "0.11.0.0" } diff --git a/tests/Makefile.include b/tests/Makefile.include index d4dfbf3716d..40b114bd158 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -98,7 +98,7 @@ quiet-venv-pip = $(quiet-@)$(call quiet-command-run, \ $(TESTS_VENV_TOKEN): $(SRC_PATH)/pythondeps.toml $(call quiet-venv-pip,install -e "$(SRC_PATH)/python/") - $(MKVENV_ENSUREGROUP) $< testdeps + $(MKVENV_ENSUREGROUP) $< checktests functests $(call quiet-command, touch $@) check-venv: $(TESTS_VENV_TOKEN) -- 2.51.1