Re: Backporting BackgroundPsql

Heikki Linnakangas <hlinnaka@iki.fi>

From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Michael Paquier <michael@paquier.xyz>, Alvaro Herrera <alvherre@alvh.no-ip.org>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Daniel Gustafsson <daniel@yesql.se>, Andres Freund <andres@anarazel.de>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, Andrew Dunstan <andrew@dunslane.net>, Melanie Plageman <melanieplageman@gmail.com>, Amit Kapila <amit.kapila16@gmail.com>, Mikael Kjellström <mikael.kjellstrom@gmail.com>
Date: 2024-06-26T07:34:31Z
Lists: pgsql-hackers
On 26/06/2024 03:25, Michael Paquier wrote:
> On Wed, Jun 26, 2024 at 02:12:42AM +0200, Alvaro Herrera wrote:
>> FWIW I successfully used the preliminary PqFFI stuff Andrew posted to
>> write a test program for bug #18377, which I think ended up being better
>> than with BackgroundPsql, so I think it's a good way forward.  As for
>> back-patching it, I suspect we're going to end up backpatching the
>> framework anyway just because we'll want to have it available for
>> backpatching future tests, even if we keep a backpatch minimal by doing
>> only the framework and not existing tests.
>>
>> I also backpatched the PqFFI and PostgreSQL::Session modules to older PG
>> branches, to run my test program there.  This required only removing
>> some lines from PqFFI.pm that were about importing libpq functions that
>> older libpq didn't have.
> 
> Nice!  I definitely +1 the backpatching of the testing bits.  This
> stuff can make validating bugs so much easier, particularly when there
> are conflicting parts in the backend after a cherry-pick.

I haven't looked closely at the new PgFFI stuff but +1 on that in 
general, and it makes sense to backport that once it lands on master. In 
the meanwhile, I think we should backport BackgroundPsql as it is, to 
make it possible to backport tests using it right now, even if it is 
short-lived.

-- 
Heikki Linnakangas
Neon (https://neon.tech)




Commits

  1. Fix missing installation/uninstallation rules for BackgroundPsql.pm

  2. Backport BackgroundPsql perl test module

  3. Add missing uninstallation rule for BackgroundPsql.pm

  4. Fix missing installation rules for BackgroundPsql.pm

  5. Skip \password TAP test on old IPC::Run versions

  6. Test SCRAM iteration changes with psql \password

  7. Refactor background psql TAP functions