From bbbf71d9a68103e00f73dae02fa6de6d60c3b86a Mon Sep 17 00:00:00 2001 From: Jeff Davis Date: Mon, 11 Mar 2024 13:57:37 -0700 Subject: [PATCH] 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 --- src/bin/pg_upgrade/t/002_pg_upgrade.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pg_upgrade/t/002_pg_upgrade.pl b/src/bin/pg_upgrade/t/002_pg_upgrade.pl index 78fa319fa71..5ef78691cb3 100644 --- a/src/bin/pg_upgrade/t/002_pg_upgrade.pl +++ b/src/bin/pg_upgrade/t/002_pg_upgrade.pl @@ -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"); -- 2.30.2