Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vdHjU-00GFqz-2p for pgsql-hackers@arkaria.postgresql.org; Wed, 07 Jan 2026 00:49:05 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vdHjS-00BBH1-31 for pgsql-hackers@arkaria.postgresql.org; Wed, 07 Jan 2026 00:49:03 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vdHjS-00BBGs-1y for pgsql-hackers@lists.postgresql.org; Wed, 07 Jan 2026 00:49:03 +0000 Received: from fhigh-a1-smtp.messagingengine.com ([103.168.172.152]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vdHjQ-004zQo-15 for pgsql-hackers@postgresql.org; Wed, 07 Jan 2026 00:49:02 +0000 Received: from phl-compute-08.internal (phl-compute-08.internal [10.202.2.48]) by mailfhigh.phl.internal (Postfix) with ESMTP id 2405114000B1; Tue, 6 Jan 2026 19:48:59 -0500 (EST) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-08.internal (MEProxy); Tue, 06 Jan 2026 19:48:59 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anarazel.de; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm2; t=1767746939; x=1767833339; bh=s8/Fr7Vcir Z8pSpih8nekUrps7le4bC/fB/bfbQ0lyk=; b=XYqD+WuoULHf9dPeKAd0kWiKNR sanYqKx8EXt8+fLdr0uWK5Pw5Y5+awSsxzsbhm0+J/HAN2MYveojTBiYQ1Cpmq+W rqxaoDh+zRhPAOEyyGCHOGh5mB3CKeMr1MNvQ+Ic+bfuM7Qu6YieTSoJMDQscxKA YmrwIDBdUV+HIKJnU4JmQMKqm7ERqZJhSy53Fw+aknzteaIDzUCQ3raUana+nkhh s19f+jlRXJRLB1eoCoYpcUqINqUXdAzD3x1124NnNC7JG0INrOuRlHtGeX9AP4KQ PC+eiM36ash1kwNgfpsyg7ygXObKtW3kfGP4foq17IKzFR4Ejf+Dzzg8dOiw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1767746939; x=1767833339; bh=s8/Fr7VcirZ8pSpih8nekUrps7le4bC/fB/ bfbQ0lyk=; b=NI0ZeoNW9e0PiFf7oUt7Zkq2FDivnNIzI345DpOnNQCm09A8tRy 3aGnATkw9V8yA++/0vrM/lbOQFgNdOsGBm9hYKPvz58WIgGHeeZEHcwXIBeO1a8l oj4Kaekp1WGc0b+U+0rt3pdlsG05spasSL8TDFXOqy9aoKDrzOdcSUyQUuY2txxf JQIk0pQRVR8o+fKjplwhh0qfyqeNAcciDLrgcH3KliEROOFbB21L53xm7C7kqyV4 3r2VPPCgLZnTwAS5hUgRHHPczrBlMvTdE52tSmXiJi6QJ/nLBHevN6GEQ0R1aycb JBsu9vyJsCGBfWOM/CfAuCr9K+15G3VqQgg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgddutdduieejucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepfffhvfevuffkfhggtggujgesthdtsfdttddtvdenucfhrhhomheptehnughrvghs ucfhrhgvuhhnugcuoegrnhgurhgvshesrghnrghrrgiivghlrdguvgeqnecuggftrfgrth htvghrnhepfeffgfelvdffgedtveelgfdtgefghfdvkefggeetieevjeekteduleevjefh ueegnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprg hnughrvghssegrnhgrrhgriigvlhdruggvpdhnsggprhgtphhtthhopeekpdhmohguvgep shhmthhpohhuthdprhgtphhtthhopehpvghtvghrsegvihhsvghnthhrrghuthdrohhrgh dprhgtphhtthhopehjrggtohgsrdgthhgrmhhpihhonhesvghnthgvrhhprhhishgvuggs rdgtohhmpdhrtghpthhtohepsgihrghvuhiikedusehgmhgrihhlrdgtohhmpdhrtghpth htoheprhhosggvrhhtmhhhrggrshesghhmrghilhdrtghomhdprhgtphhtthhopehpohhs thhgrhgvshesjhgvlhhtvghfrdhnlhdprhgtphhtthhopehpghhsqhhlqdhhrggtkhgvrh hssehpohhsthhgrhgvshhqlhdrohhrghdprhgtphhtthhopehtghhlsehsshhsrdhpghhh rdhprgdruhhspdhrtghpthhtohepuggrnhhivghlseihvghsqhhlrdhsvg X-ME-Proxy: Feedback-ID: id4a34324:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 6 Jan 2026 19:48:58 -0500 (EST) Date: Tue, 6 Jan 2026 19:48:57 -0500 From: Andres Freund To: Jelte Fennema-Nio Cc: Jacob Champion , PostgreSQL Hackers , Robert Haas , Daniel Gustafsson , Tom Lane , Peter Eisentraut , Nazir Bilal Yavuz Subject: Re: RFC: adding pytest as a supported test framework Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi, On 2026-01-07 00:49:28 +0100, Jelte Fennema-Nio wrote: > On Wed, 7 Jan 2026 at 00:17, Andres Freund wrote: > > I'm somewhat sceptical that the .venv support should be introduced together > > with the rest of this. > > Could you expand a bit on this? My thinking was that people have a > tendency to get confused by python dependency management (because > there's too many options to do it). So having an easy documented and > supported way to do it seemed like a good idea to have people not get > frustrated. > Would you rather have it only be documented how to install the python > dependencies? And not have meson/autoconf automatically detect the > .venv? > > To be clear, if it was only pytest then recommending "pipx install > pytest" would probably be easiest, but it seems like we'll at least > want cryptography for the tests Jacob is writing. > > And I'm also thinking ahead a bit towards being able to use (a > specific version of) ruff for formatting & linting of python code. See > also[1] I mainly think you're doing too much at once. There may be arguments for recognizing a .venv in the build or source directory. But it just seems like a separate project than the basic infrastructure to have python tests. I'd start with just documenting the set of packages that are required and let the user deal with the rest. Then, in a subsequent step, we can discuss whether or not we want the venv support. I'd also not include support for MTEST_SUITES, nor would I remove an existing test as part of this thread. I'd not include something like src/test/pytest/libpq/_generated_errors.py either, that seems orthogonal to me. Getting something that's not yet complete, but already 288kB, merged, is no small feat... Greetings, Andres Freund