Fix 002_pg_upgrade.pl.

Commit f696c0cd5f caused a test failure in 002_pg_upgrade.pl, because
an earlier s/// operator caused qr// to no longer match the empty
string. Use qr/^$/ instead, which is a better test anyway, because we
expect the stderr to be empty.

Initially this appeared to be a perl bug, but per discussion, it seems
that it was a misunderstanding of how perl works: an empty pattern
uses the last successful pattern. Given how surprising that behavior
is to perl non-experts, we will need to look for similar problems
elsewhere and eliminate the use of empty patterns throughout the
code. For now, address this one instance to fix the buildfarm.

Discussion: https://postgr.es/m/0ef325fa06e7a1605c4e119c4ecb637c67e5fb4e.camel@j-davis.com
Reviewed-by: Tom Lane
This commit is contained in:
Jeff Davis 2024-03-11 13:57:37 -07:00
parent 319e9e53f3
commit bbbf71d9a6
1 changed files with 1 additions and 1 deletions

View File

@ -377,7 +377,7 @@ command_checks_all(
],
1,
[qr/invalid/], # pg_upgrade prints errors on stdout :(
[qr//],
[qr/^$/],
'invalid database causes failure');
rmtree($newnode->data_dir . "/pg_upgrade_output.d");