Repair two portability oversights of new test
authorAlvaro Herrera
Thu, 30 Sep 2021 13:01:03 +0000 (10:01 -0300)
committerAlvaro Herrera
Thu, 30 Sep 2021 13:01:03 +0000 (10:01 -0300)
First, as pointed out by Tom Lane and Michael Paquier, I failed to
realize that Windows' PostgresNode needs an extra pg_hba.conf line
(added by PostgresNode->set_replication_conf, called internally by
->init() when 'allows_streaming=>1' is given -- but I purposefully
omitted that).  I think a good fix should be to have nodes with only
'has_archiving=>1' set up for replication too, but that's a bigger
discussion.  Fix it by calling ->set_replication_conf, which is not
unprecedented, as pointed out by Andrew Dunstan.

I also forgot to uncomment a ->finish() call for a pumpable IPC::Run
file descriptor.  Apparently this is innocuous in almost all platforms.

Backpatch to 14.  The older branches were added this file too, but not
this particular part of the test.

Discussion: https://postgr.es/m/3000074.1632947632@sss.pgh.pa.us
Discussion: https://postgr.es/m/[email protected]

src/test/recovery/t/026_overwrite_contrecord.pl

index a034215dac11271abed3325352ca72a8bdd58488..14211dd25d4eaeaa6aab86bd03a9cb1358b4abdf 100644 (file)
@@ -101,6 +101,7 @@ $node = PostgresNode->get_new_node('primary2');
 $node->init(
    has_archiving => 1,
    extra         => ['--wal-segsize=1']);
+$node->set_replication_conf;
 
 # Note: consistent use of forward slashes here avoids any escaping problems
 # that arise from use of backslashes. That means we need to double-quote all
@@ -181,7 +182,7 @@ $node->poll_query_until(
 
 # Now crash the node with the transaction open
 $node->stop('immediate');
-#$h->finish();
+$h->finish();
 $node->start;
 $node->safe_psql('postgres', 'create table witness (a int);');
 $node->safe_psql('postgres', 'insert into witness values (42)');