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 1vdHvN-00GHwR-28 for pgsql-hackers@arkaria.postgresql.org; Wed, 07 Jan 2026 01:01:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vdHvL-00BDQ6-1L for pgsql-hackers@arkaria.postgresql.org; Wed, 07 Jan 2026 01:01:20 +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 1vdHvL-00BDPx-0G for pgsql-hackers@lists.postgresql.org; Wed, 07 Jan 2026 01:01:19 +0000 Received: from mail-qv1-xf31.google.com ([2607:f8b0:4864:20::f31]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vdHvI-004zVi-1q for pgsql-hackers@postgresql.org; Wed, 07 Jan 2026 01:01:18 +0000 Received: by mail-qv1-xf31.google.com with SMTP id 6a1803df08f44-8888546d570so19152216d6.2 for ; Tue, 06 Jan 2026 17:01:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb.com; s=google; t=1767747674; x=1768352474; darn=postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=KB2HTM/HoFM7dXyRsUQnGItDPWsOJj19rSp4l6hJYWc=; b=JC55SiwbC40X6+1usQTvZazs+kV/11nj4ZD1aZuyHYGMhhRjaBmZNwqF6nX2BOIDxq dPpG6L6d58UE+I6xXZryDG02Tq6TOVwE5/VF67s7I/1v2hopAR9eRntyYF7ZUmmV3sBB 5kLwXC8MlZyyuA3a6V9Ue6zYo1BFlNuuidKav7P6Eqw2tjn+acCh5A4CnMl2wZd1cpZW RQ2BCUS3jvvTNo5+2OIk3IjakYmRZCrPUBZf3tmQhaEyWwVgBzTjkMB4GSEktHSMGG03 3tag/kTZZkRMwE/jf9louPhNKJKt7ITZiujgR9M/TbzVk3UfIvGaoGOMeQamAmwWfPxu 0lKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767747674; x=1768352474; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=KB2HTM/HoFM7dXyRsUQnGItDPWsOJj19rSp4l6hJYWc=; b=gThIp+RBYZQmVK1qKwAVg21ZWu29Gw73eMC4YVHsYLtEzg15zEGsIxpbqsyLZ22dYK YzTHHN8JcaQ4try2aQtDx68SXvAlGN5OlZbK3Vg8MUrXPQcrrnv1vZA6K4RoQwCjb++p 6lvEQjIMYEAZ8fzCRx47iqYn1I8v/2zbfFZmksCSUeg662RmNRgLJuwQkOkogP5e4GrZ 17NWCqp+ps3a6UfL/xZcH6jv4qtgUbvaQ1U1yoLa1F/EooAO720sNNTY9JgmSsKIF/g/ DNceVEa+d5b5mNdhX1yRytoL/Qnmjoki6uvYrtQWXenn08VmZY9MTnau0HABFDyhS8kR SOCw== X-Forwarded-Encrypted: i=1; AJvYcCVu69w9luAW+R+eoQelKBbkdZVZ06OzU9Jjc0CEyMemB/tITYHHGXrZLtT4hK3gjhRVLQVmoy8OlTRFUnRw@postgresql.org X-Gm-Message-State: AOJu0YzOiAK3Vkqwk/Y9iAE8UXdAxK00CRlFOyKXL2GyG4RUjNvdzBLb rE0u970RKfCeabd9jvDraKXHcQ5czMkZvsrpEi9695CJeDangO0XCPpoc4xhQdAVU8Tv+PiPkPc 0Zw2EpPMQ/3hl3eeUgg9o2xA7ITvPMNRY7+HHcsUL X-Gm-Gg: AY/fxX6gpJ/tZdCBfXXYPpGIerSYmSKwtXdKFWQM6sEBS78ySxKvZ2GqJFkCe2kT8jj bNUsE4fihfTDtBEn6daYQ1L1WXIr3qtxukYhlJ3xVQ3rODys7fqZPcO1qrRLSD0LOukfyBwN527 /+CK1l5dw7VhuEKUTSxG5TR7XRIn1xAXJ5BJStk7iOnfwHgHIwf+kekPyieWPZMfToFjJ0CisW7 fj/WV4rFk7xPAeuJE9sWS/SXGifO210fF1S1NJ2IAR5ra7ZhANugD8tN6Cuzd5zXl/sMp+ynw== X-Google-Smtp-Source: AGHT+IEvAEbLTOXe7gKiaLoGoZUAO6/3XTd/EB1SIQwTeXt+1Tx7ylLOk6vZdzlBwufrYnp+5rgarpn28ZL5xX6ltdI= X-Received: by 2002:a05:6214:29c1:b0:880:4c2d:dc8c with SMTP id 6a1803df08f44-8908419e782mr14857376d6.18.1767747674553; Tue, 06 Jan 2026 17:01:14 -0800 (PST) MIME-Version: 1.0 References: <2302192.1718380169@sss.pgh.pa.us> In-Reply-To: From: Jacob Champion Date: Tue, 6 Jan 2026 17:01:03 -0800 X-Gm-Features: AQt7F2pKZyRVk4w9UYVztwq7l37YGDrSCQw5CBWbx28G-LjkeLeLkh3FL6iAHzA Message-ID: Subject: Re: RFC: adding pytest as a supported test framework To: Jelte Fennema-Nio Cc: Andres Freund , PostgreSQL Hackers , Robert Haas , Daniel Gustafsson , Tom Lane , Peter Eisentraut , Nazir Bilal Yavuz Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, Jan 6, 2026 at 11:07=E2=80=AFAM Jelte Fennema-Nio wrote: > > That's fine by me, but I plan to focus on > > things that need to get into PG19 before I focus on this, since > > nothing is really blocked on it. > > Part of the reason why I've been trying to push this forward is that > automated tests for the GoAway patch are definitely blocked on this. (The > other reason is that I'd like to reduce the amount of perl I have to > read/write.) Ah, okay. To state publicly what I've already mentioned to you off-list: I have absolutely no intention of going it alone on this. My bar is enthusiastic buy-in from a number of maintainers (the price paid for expanding the scope from "made-for-purpose protocol test suite" to "eventual Test::Cluster replacement"), and no -1s. I expect that to take a while. It's perfectly okay if you'd like to tie the GoAway proposal to this, but that seems like it's unlikely to result in short-term success. It was in Drafts for a reason. The stated point of v2 was to "spark some opinions and conversation", and I have no plans to fast-track this patchset for 19. > >> I think it'd be a seriously bad idea to start with no central infrastr= ucture, > >> we'd be force to duplicate that all over. > > > > Right, I just want central infra to be pulled out of the new tests > > that need them rather than the other way around. > > I'm not sure how you expect that to work in practice. Hopefully I'm just describing refactoring? Holding your nose, open-coding it in a test even though you'd rather not, showcasing the way you'd like to use it so we can discuss the style, and refactoring it outwards and upwards in a later patch in the set, once you hit the rule of three and there's a pattern of usage and an API that people like. (This may have been what you're doing with v4 onwards, but again I haven't been able to sit down with it.) > I believe (and I > think Andres too) that there's some infra that we already know we'll > need for many tests, e.g. starting/stopping nodes, running queries, > handling errors. [snip] Sure -- I feel like I've already agreed with that upthread, ad nauseam... along with my reasons why v2 hadn't tackled any of that yet. I'd hoped to talk about the design questions I had in v2, but it's OSS and no one is required to talk about things just because I want them to. :D Your v3 rewrote it instead, and I haven't had time to review v3 yet. Writing code to start and stop a server and run SQL is a matter of programming. Writing a test suite that newcomers can intuitively use, and test interesting new things with, is a long-term collaboration. I am much more interested in doing the latter, because we already have the former, and personally I'm happy to build momentum slowly and wait on a group of people who are in a good place to discuss it. --Jacob