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 1sHqgJ-00BBly-V1 for pgsql-hackers@arkaria.postgresql.org; Thu, 13 Jun 2024 20:04:24 +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 1sHqgG-006v0l-9y for pgsql-hackers@arkaria.postgresql.org; Thu, 13 Jun 2024 20:04:21 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sHqgF-006v0X-Ry for pgsql-hackers@lists.postgresql.org; Thu, 13 Jun 2024 20:04:20 +0000 Received: from mail-ej1-x635.google.com ([2a00:1450:4864:20::635]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sHqgD-001AhS-W6 for pgsql-hackers@postgresql.org; Thu, 13 Jun 2024 20:04:19 +0000 Received: by mail-ej1-x635.google.com with SMTP id a640c23a62f3a-a6f0dc80ab9so240504766b.2 for ; Thu, 13 Jun 2024 13:04:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718309056; x=1718913856; 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=uaFiMPwEIsNlZXkmglSlpWOU85CtYyLz0DPkOcSUmnM=; b=XkSmLMeX1bUPMuvefP6avcAEgJBCxdujt26qS5Ds7avhbTVJqvM7o+FyQ6mBo3NHMP EbePy5EdZWDefA+TkPWKKzJJPpEMYAEFCnfUFvxyn/IJisRtL9egCiQY07hI2+x8f1rX RWQNQyJ4gEIxQrGyOPva1ouZrM09Wivv+MyFgh0HdhbMKfvwmJF5oWTXRn4D5QQEOxum UpQIDOUQ9MKuPpYwcMZ5oL+lfK2B6gGc69YfBohn00Iz/2nQ5dmcK1kKcT9BT/iBEZYh +uH/NAG5cgJy5WwplNISnM4xYjpPTjjtVqSRnNWsuGc+me9DMpvC229XmMDpQybgtda9 AYcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718309056; x=1718913856; 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=uaFiMPwEIsNlZXkmglSlpWOU85CtYyLz0DPkOcSUmnM=; b=vLs9uNkabkItrrPejYMfYuxOr74X3e99YxdoqVeTMMNO4yCH53lnR1Apc0X6h0JdS/ untXnR1TryxYfWgbJyj+k0QGTouLJogtyBzouOH9Hd2SnAAl9LO1vo8J1bW8jb5W25on tim41Hk2cdtpi1ks5UcBXZ3rvsaDrDf1jbXPXQndz3P1qW4xN8J8FU5QPaHkYy2EMjDb 0B7c4rjL8rgORVKoID1faQ6PAJqcdUuT3EneFt/h/9ZlNy2qIGZqkFRiF9ZgMG39ZurD 0ac+9IcPh99sPn71zYDB+90Dv8tSDnSX6uenV1HsgyiKY4G2uNyMm6LlXvuCt3xQMdqB Xx3g== X-Forwarded-Encrypted: i=1; AJvYcCUdY0GiQodbk1AsjdmTAmKV0ZX/UYeiow+VqhMLRUTcaeaP03JlzqBxoOTAER7KkxLnBm3nz1CBijVua2xyDRKp8nAPtjazLF3pAesZ X-Gm-Message-State: AOJu0YzJ+hTEbiz9OIB/keeeLrw+81jQMRmAJQsSFdMU18sddQ/Uwi6q qJ0JFoqTnIWEgB/ntdL/ZwRJpuZe0oimQtNnBEG0OWh4znxOigev7hekEK9FnUVhPNfuCLUzjbL hDGoqLIBzcPWEBzX124CT2YsTpbY= X-Google-Smtp-Source: AGHT+IF0DWgSHfhF1pfLeYuEz9wCGtNyvLaxiftAPRuzWtPvbR8ozyQ4RiEKv/trtzRnE0PJKwwtuF03s7DYpwZCFG8= X-Received: by 2002:a17:906:f0d3:b0:a6f:54fc:d921 with SMTP id a640c23a62f3a-a6f60cefe17mr47106466b.16.1718309056360; Thu, 13 Jun 2024 13:04:16 -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:04:04 -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 3:28=E2=80=AFPM Jacob Champion wrote: > (that's not the proposal and I know/think you know that but having my > original email twisted into that is making me feel a bit crispy) I definitely did not mean to imply that. I took your original email as a goal, rather than a proposal or plan. My statement was strictly intended as a hypothetical because I didn't think any plan had been proposed - I only meant to say that *if* the plan were to do X, that would be a hard sell for me. > I do not want to migrate, and I have stated so multiple times, which > is why I have not proposed a migration plan. Other committers have > already expressed resistance to the idea that we would rewrite the > Perl stuff. I think they're right. I think we should not. I think we > should accept the cost of both Perl and something else for the > near-to-medium future, as long as the "something else" gives us value > offsetting the additional cost. I agree. It's not terribly pretty, IMHO, but it's hard to see doing things any other way. > For me personally, the problem is the opposite. I have done _so much_ > initial development by myself that there's no way it could ever be > reviewed and accepted. But I had to do that to get meaningful > development done in my style of work, which is focused on security and > testability and verifiable implementation. I admire this attitude. I think a lot of people who go off and do a ton of initial work outside core show up and are like "ok, now take all of my code." As you say, that's not realistic. One caveat here, perhaps, is that the focus of the work you've done up until now and the things that I and other community members may want as a condition of merging stuff may be somewhat distinct. You will have naturally been focused on your goals rather than other people's goals, or so I assume. > I am trying to carve off pieces of that and say "hey, does this look > nice to anyone else?" That will take time, probably over multiple > different threads. This makes sense, but I would be a bit wary of splitting it up over too many different threads. It may well make sense to split it up, but it will probably be easier to review if the core work to enable this is one patch set on one thread where someone can read just that one thread and understand the situation, rather than many threads where you have to read them all. > Because of how many moving parts and competing interests and personal > disagreements there are, I am firmly in the camp of "try something > that many people think *might* work better, that can be undone if it > sucks, and iterate on it." I want to build community momentum, because > I think that's a pretty effective way to change the cultural norms > that you're saying you're frustrated with. That doesn't mean I want to > do this without a plan; it just means that the plan can involve saying > "this is not working and we can undo it" which makes the uncertainty > easier to take. As a community, we're really bad at this. Once something gets committed, getting a consensus to revert it is really hard, especially if a major release has happened meanwhile, but most of the time even if it hasn't. It might be a little easier in this case, since after all it's not a directly user-visible feature. But historically what happens if somebody says "hey, there are six unfixed problems with this feature!" is that everybody says "well, you're free to fix the problems if you want, but you're not allowed to revert the feature." And that is *exactly* how we end up with stuff like the current TAP test framework: ripping that out would mean removing all the TAP tests that depend on it, and that wouldn't have achieved consensus two months after the feature went in, let alone today. Now, it has been suggested to me by at least one other person involved with the project that we need to be more open to the kind of thing that you propose here: add experimental things and take them out if it doesn't work out. I can definitely understand that this might be a culturally better approach than what we currently do. So maybe that's the way forward, but it is hard (at least for me) to get past the fear of being the one left holding the bag, and I suspect that other committers have similar fears. What exactly we should do about that, I'm not sure. --=20 Robert Haas EDB: http://www.enterprisedb.com