On Fri, 21 Mar 2025 at 18:59, Shubham Khanna <khannashubham1...@gmail.com> wrote: > > > During the recent testing, I observed that the tests were failing when > using wait_for_slot_catchup(). To address this, I reverted to using > wait_for_subscription_sync(), which was employed previously and has > proven to be more reliable in ensuring test stability. > Please let me know if there are any additional adjustments you would > suggest or if you would like me to investigate further into > wait_for_slot_catchup(). > > I have created a separate patch for the synopsis of '--all' option as > suggested by Amit at [1]. The attached patch contains the suggested > changes.
I believe you added the following because pattern matching is difficult for the $db1 and $db2 variables having special names: +# Create a new database on node_p +$node_p->safe_psql( + "postgres", qq( + CREATE DATABASE db1; +)); How about we change it to verify the count of occurrences instead for this case like below: # Verify that the required logical replication objects are created. The # expected count 3 refers to postgres, $db1 and $db2 databases. is(scalar(() = $stderr =~ /creating publication/g), 3, "verify publications are created for all databases"); is(scalar(() = $stderr =~ /creating the replication slot/g), 3, "verify replication slots are created for all databases"); is(scalar(() = $stderr =~ /creating subscription/g), 3, "verify subscriptions are created for all databases"); If you are ok, you can merge the changes attached. Regards, Vignesh
diff --git a/src/bin/pg_basebackup/t/040_pg_createsubscriber.pl b/src/bin/pg_basebackup/t/040_pg_createsubscriber.pl index 7e275473eb9..9355cb0ade9 100644 --- a/src/bin/pg_basebackup/t/040_pg_createsubscriber.pl +++ b/src/bin/pg_basebackup/t/040_pg_createsubscriber.pl @@ -419,12 +419,6 @@ command_fails_like( qr/--publication cannot be used with --all/, 'fail if --publication is used with --all'); -# Create a new database on node_p -$node_p->safe_psql( - "postgres", qq( - CREATE DATABASE db1; -)); - # run pg_createsubscriber with '--all' option my ($stdout, $stderr) = run_command( [ @@ -440,20 +434,14 @@ my ($stdout, $stderr) = run_command( ], 'run pg_createsubscriber with --all'); -like( - $stderr, - qr/.*pg_createsubscriber: creating publication .* in database \"postgres\"/, - "expanded commands for all databases"); -like( - $stderr, - qr/.*pg_createsubscriber: creating publication .* in database \"db1\"/, - "expanded commands for all databases"); - -# Drop the newly created database on node_p -$node_p->safe_psql( - "postgres", qq( - DROP DATABASE db1; -)); +# Verify that the required logical replication objects are created. The +# expected count 3 refers to postgres, $db1 and $db2 databases. +is(scalar(() = $stderr =~ /creating publication/g), + 3, "verify publications are created for all databases"); +is(scalar(() = $stderr =~ /creating the replication slot/g), + 3, "verify replication slots are created for all databases"); +is(scalar(() = $stderr =~ /creating subscription/g), + 3, "verify subscriptions are created for all databases"); # Run pg_createsubscriber on node S. --verbose is used twice # to show more information.