Re: RFC: adding pytest as a supported test framework
Andrew Dunstan <andrew@dunslane.net>
From: Andrew Dunstan <andrew@dunslane.net>
To: Noah Misch <noah@leadboat.com>, Andres Freund <andres@anarazel.de>
Cc: Jacob Champion <jacob.champion@enterprisedb.com>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2024-06-12T10:17:21Z
Lists: pgsql-hackers
On 2024-06-11 Tu 19:48, Noah Misch wrote: > On Mon, Jun 10, 2024 at 06:49:11PM -0700, Andres Freund wrote: >> On 2024-06-10 16:46:56 -0400, Andrew Dunstan wrote: >>> On 2024-06-10 Mo 16:04, Andres Freund wrote: >>>> Just for context for the rest the email: I think we desperately need to move >>>> off perl for tests. The infrastructure around our testing is basically >>>> unmaintained and just about nobody that started doing dev stuff in the last 10 >>>> years learned perl. >>> As for what up and coming developers learn, they mostly don't learn C >>> either, and that's far more critical to what we do. >> C is a a lot more useful to to them than perl. And it's actually far more >> widely known these days than perl. > If we're going to test in a non-Perl language, I'd pick C over Python. There > would be several other unlikely-community-choice languages I'd pick over > Python (C#, Java, C++). We'd need a library like today's Perl > PostgreSQL::Test to make C-language tests nice, but the same would apply to > any new language. Indeed. We've invested quite a lot of effort on that infrastructure. I guess people can learn from what we've done so a second language might be easier to support. (Java would be my pick from your unlikely set, but I can see the attraction of Python.) > > I also want the initial scope to be the new language coexisting with the > existing Perl tests. If a bulk translation ever happens, it should happen > long after the debut of the new framework. That said, I don't much trust a > human-written bulk language translation to go through without some tests > accidentally ceasing to test what they test in Perl today. +1 cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com