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.94.2) (envelope-from ) id 1sHr36-00BDfK-Co for pgsql-hackers@arkaria.postgresql.org; Thu, 13 Jun 2024 20:27:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1sHr33-007SRI-M2 for pgsql-hackers@arkaria.postgresql.org; Thu, 13 Jun 2024 20:27:54 +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.94.2) (envelope-from ) id 1sHr33-007SQu-9K for pgsql-hackers@lists.postgresql.org; Thu, 13 Jun 2024 20:27:54 +0000 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sHr31-001WY3-08 for pgsql-hackers@postgresql.org; Thu, 13 Jun 2024 20:27:53 +0000 Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-a6f0dc80ab9so242889566b.2 for ; Thu, 13 Jun 2024 13:27:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718310469; x=1718915269; 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=imUbRWn6IzYgXYiqgB6JLuXV9JwIkV//VQp192w68WI=; b=Lu57sX/RwTguIy5q87QCkJ+sw+462+5jitLKvi2xOoxm0ifbcId/jelxeASY3mtoyD KZWB5ZnEfW0QHHlPlY84OBN+NlohRgCHbqm73o+mDmZ0HV+HtpA2qq+ZXxqDWckzeOhB aI0Osg46E/K0ZvcV+GnD2UbL8FqTpEesRTb/AZFZXMQu73GWLoAwW7aasrVo404amgOw NX6PLQ3Vwo8rf8T2QSklhaudP+vodcRA5LhmmaZIzM8veeEV1OaA13f+VQNG47vh+1D5 dy5t9yDKdNstZjzj+wnJJunnxojsxM6XC0/FFOxT/KuPPhY580w7ZxwNg3MpBHm14urh dHXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718310469; x=1718915269; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=imUbRWn6IzYgXYiqgB6JLuXV9JwIkV//VQp192w68WI=; b=e/lGkrXsVrhrI3AoBk9d7JnAD61xj0A02RdwfmNzZ4ASF89Y8eGY7F6rE/p9UbT8Nx mH1qU6i7+p0t6jWWw8xIcCr897uEm1NHjh0tZ8env+nnQ8M0uoSVY/h4nlny/bDu3hx8 Kt0q4kpwRcJnK35q9vv1c+T/dMWJdNrqSck8/y3jfxhWA+k1KAip5G3YjhwPjKSFcguG R6K4RHO+pRJEGvwHxPQc0e35BmGSJmxrNTFpSgeBMgUEax0uyJjk2r3IOuCE97ZhMzG5 +AMvR7B+kv0GLypQPvEBiWc+KUZNtI557gt5c+Db8TyNM02U0/B9akTMD6I3UbNG7fUZ SJ3w== X-Forwarded-Encrypted: i=1; AJvYcCWSN1+TSmh6gDaZmenMIWhgQEZ8OzZnp8hR4OBWS7eWE65QApyWsK9WCl8EQ3vdFs7EyxdNRq/s3L1QX4A1KF5Omo5lTLb4oVTP40bw X-Gm-Message-State: AOJu0Yx/GYqK8pGFp/b878qyBRDwCgVpftJ2aZtXF+eBbInAiz7LXOUE zuXy1oU0Z0lmgssVic+z8Gt54x4QmDVrno2Gyt663S7WyFB8GcZ7opRnHYrAfzSZiZrgHiz8s2k furvIH6ptbqSj1lEcDxYb7uupsz4= X-Google-Smtp-Source: AGHT+IHW52qA9nIkotBzaq0FUq480skMVL/5oaCLhA109m07cNofSiOnv3BMk8JJj/zObiISRgdVN0E57UnPmBINI5g= X-Received: by 2002:a17:906:6bc4:b0:a6e:2275:95b8 with SMTP id a640c23a62f3a-a6f60de49e2mr48219066b.64.1718310469376; Thu, 13 Jun 2024 13:27:49 -0700 (PDT) MIME-Version: 1.0 References: <20240610200411.byj6sv2vpgol6wcf@awork3.anarazel.de> <20240612155040.u6cvatdb5tiwcxci@awork3.anarazel.de> In-Reply-To: From: Robert Haas Date: Thu, 13 Jun 2024 16:27:35 -0400 Message-ID: Subject: Re: RFC: adding pytest as a supported test framework To: Jacob Champion Cc: Jelte Fennema-Nio , Daniel Gustafsson , Andres Freund , PostgreSQL Hackers 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 Thu, Jun 13, 2024 at 4:06=E2=80=AFPM Jacob Champion wrote: > There was a four-step plan sketch at the end of that email, titled "A > Plan". That was not intended to be "the final detailed plan", because > I was soliciting feedback on the exact pieces people wanted to try to > implement first, and I am not the God Emperor of Pytest. But it was > definitely A Plan. Well, OK, now I feel a bit dumb. I guess I missed that or forgot about it. > > - at least as much in-tree support for writing tests as we have today > > with PostgreSQL::Test::whatever, but not necessarily a 1:1 reinvention > > of the stuff we have now, and documentation of those facilities that > > is as good or, ideally, better than what we have today. > > I think this is way too much expectation for a v1 patch. If you were > committing this by yourself, would you agree to develop the entirety > of PostgreSQL::Test in a single commit, without the benefit of the > buildfarm checking you as you went, and other people trying to write > tests with it? Eh... I'm confused. PostgreSQL::Test::Cluster is more than half of the code in that directory, and without it you wouldn't be able to write most of the TAP tests that we have today. You would really want to call this project done without having an equivalent? > > The important thing to me here (as it so often is) is to think like a > > maintainer. Imagine that immediately after the patches for this > > feature are committed, the developers who did the work all disappear > > from the community and are never heard from again. How much pain does > > that end us causing? The answer doesn't need to be zero; that is > > unrealistic. But it also shouldn't be "well, if that happens we're > > going to have to rip the feature out" > > Can you elaborate on why that's not an okay outcome? Well, you just argued that it should be an okay outcome, and I do sort of see your point, but I refer you to my earlier reply about the difficulty of getting anything reverted in the culture as it stands. > > or "well, a bunch of committers > > who didn't want to write tests in Python in the first place are now > > going to have to do a lot of work in Python to stabilize the work > > already committed." > > Is it that? If the problem is that, we should address that. Because if > that is truly the fear, I cannot assuage that fear without showing you > something, and I cannot show you something you do not want to see, if > you don't want to write tests in Python in the first place. I have zero desire to write tests in Python. If I could convince everyone here to spend their time and energy improving the stuff we have in Perl instead of introducing a whole new test framework, I would 100% do that. But I'm pretty sure that I can't, and I think the project needs to pick from among realistic options rather than theoretical ones. Said differently, it's not all about me. --=20 Robert Haas EDB: http://www.enterprisedb.com