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 1sJCbc-003BU1-6c for pgsql-hackers@arkaria.postgresql.org; Mon, 17 Jun 2024 13:41:08 +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 1sJCab-00H6v6-MB for pgsql-hackers@arkaria.postgresql.org; Mon, 17 Jun 2024 13:40:06 +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 1sJCab-00H6uf-BT for pgsql-hackers@lists.postgresql.org; Mon, 17 Jun 2024 13:40:06 +0000 Received: from mail-yw1-f177.google.com ([209.85.128.177]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sJCaY-0027xC-N5 for pgsql-hackers@postgresql.org; Mon, 17 Jun 2024 13:40:04 +0000 Received: by mail-yw1-f177.google.com with SMTP id 00721157ae682-6312f1f83d9so31259727b3.2 for ; Mon, 17 Jun 2024 06:40:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718631600; x=1719236400; 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=GRoOhXkxP1rgbo58TQ2q89kGyE/TKhfesHKz4l3do50=; b=AY1/m4cDxR+iiBK5LlvHKGlXA6jrWxZqYMBha+opdIA7W+a9nJxG21HcBpRCpNlb54 qeIa8/AXFSI+2i7TJVcSFioGxQnU07sgDq8X12dpsSOId6A+YT75p2b3fOj4IP5vk3qv nUzA9VR45Ojsgu56CxjaJdfeGXHROJpWk2ovuZP6OChoNXBNiQmDZGhRbD5EFFiq96Ga mvoVjmWXB49s/DbUUFq10PxBFN9Nnx3o3N0hpzNuUcWmtjzy4EgsX38kO11hSxf5jCJv GxI4Wule6d1GtlmmsXO+rUeNwwEbTHfr8d7J00GdNNLwu2sodFeERvpjO1QgBW1qdS4e pXHA== X-Forwarded-Encrypted: i=1; AJvYcCXilUqP/0lCAxTrCLMa79rvDrf/4fOeMgzyqhmliKXkWSxVwFje083m4VuE1KiwZC/y9tk8JO1Er9VEpYyM6jOdyO+Ia5vgeQky0/Wp X-Gm-Message-State: AOJu0Yxl2gokcea71ORnZmtEBZOuq0k4NXns7QnW0UuMRqjqUD05779v 62Y23sn4/IluYcAaGcj0vMLQiQng1dV0Ap3t+4YsuVMIFvXomB4J4CWOrqW7KGjnYvfP+ZHLVmT Ofug6tujU4ip52BQHgJPj/Z8AWoG8D4vaCXf8gA== X-Google-Smtp-Source: AGHT+IETxAwZS2AwK1zoGXFvVfhXmYG0nNrfdUQinzUmwXdfHw0GK6rLmJkgdRo7KxsAqCoblGhnq+7vXteAwAOQIig= X-Received: by 2002:a81:d447:0:b0:632:a6f7:1598 with SMTP id 00721157ae682-632a7069a89mr86129437b3.12.1718631600251; Mon, 17 Jun 2024 06:40:00 -0700 (PDT) MIME-Version: 1.0 References: <20240612155040.u6cvatdb5tiwcxci@awork3.anarazel.de> <2302192.1718380169@sss.pgh.pa.us> In-Reply-To: From: Jelte Fennema-Nio Date: Mon, 17 Jun 2024 15:39:47 +0200 Message-ID: Subject: Re: RFC: adding pytest as a supported test framework To: Robert Haas Cc: Melanie Plageman , Greg Sabino Mullane , Andrew Dunstan , Tom Lane , Jacob Champion , 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 Sun, 16 Jun 2024 at 23:04, Robert Haas wrote: > > On Sat, Jun 15, 2024 at 6:00=E2=80=AFPM Melanie Plageman > wrote: > > Writing a new test framework in a popular language that makes it more > > likely that more people will write more tests and test infrastructure > > is such a completely different thing than suggesting we rewrite > > Postgres in Rust that I feel that this comparison is unfair and, > > frankly, a distraction from the discussion at hand. > > I don't really agree with this. > > it's not *as* problematic if some tests are > written in one language and others in another as it would be if > different parts of the backend used different languages, and it > wouldn't be *as* hard if at some point we decided we wanted to convert > all remaining code to the new language. Honestly, it sounds like you actually do agree with each other. It seems you interpreted Melanie her use of "thing" as "people wanting to use Rust/Python in the Postgres codebase" while I believe she probably meant "all the problems and effort involved in the task making that possible''. And afaict from your response, you definitely agree that making it possible to use Rust in our main codebase is a lot more difficult than for Python for our testing code. > But, would I feel respected and valued as a participant in > that project? Would I have to use weird tools and follow arcane and > frustrating processes? If I did, *that* would make me give up. I don't > want to say that the choice of programming language doesn't matter at > all, but it seems to me that it might matter more because it's a > symptom of being unwilling to modernize things rather than for its own > sake. I can personally definitely relate to this (although I wouldn't frame it as strongly as you did). Postgres development definitely requires weird tools and arcane processes (imho) when compared to most other open source projects. The elephant in the room is of course the mailing list development flow. But we have some good reasons for using that[^1]. But most people have some limit on the amount of weirdness they are willing to accept when wanting to contribute, and the mailing list pushes us quite close to that limit for a bunch of people already. Any additional weird tools/arcane processes might push some people over that limit. We've definitely made big improvements in modernizing our development workflow over the last few years though: We now have CI (cfbot), a modern build system (meson), and working autoformatting (requiring pgindent on commit). These improvements have been very noticeable to me, and I think we should continue such efforts. I think allowing people to write tests in Python is one of the easier improvements that we can make. [^1]: Although I think those reasons apply much less to the documentation, maybe we could allow github contributions for just those.