diff --git a/src/test/recovery/t/011_crash_recovery.pl b/src/test/recovery/t/011_crash_recovery.pl index 5fe917978c..10cd98f70a 100644 --- a/src/test/recovery/t/011_crash_recovery.pl +++ b/src/test/recovery/t/011_crash_recovery.pl @@ -7,16 +7,8 @@ use PostgresNode; use TestLib; use Test::More; use Config; -if ($Config{osname} eq 'MSWin32') -{ - # some Windows Perls at least don't like IPC::Run's start/kill_kill regime. - plan skip_all => "Test fails on Windows perl"; -} -else -{ - plan tests => 3; -} +plan tests => 3; my $node = get_new_node('primary'); $node->init(allows_streaming => 1); @@ -65,4 +57,5 @@ cmp_ok($node->safe_psql('postgres', 'SELECT pg_current_xact_id()'), is($node->safe_psql('postgres', qq[SELECT pg_xact_status('$xid');]), 'aborted', 'xid is aborted after crash'); -$tx->kill_kill; +$stdin .= "\\q\n"; +$tx->finish; # wait for psql to quit gracefully diff --git a/src/test/recovery/t/021_row_visibility.pl b/src/test/recovery/t/021_row_visibility.pl index b76990dfe0..f6a486bb88 100644 --- a/src/test/recovery/t/021_row_visibility.pl +++ b/src/test/recovery/t/021_row_visibility.pl @@ -151,9 +151,12 @@ ok(send_query_and_wait(\%psql_standby, qr/will_commit.*\n\(1 row\)$/m), 'finished prepared visible'); -# explicitly shut down psql instances - they cause hangs on windows -$psql_primary{run}->kill_kill; -$psql_standby{run}->kill_kill; +# explicitly shut down psql instances gracefully - to avoid hangs +# or worse on windows +$psql_primary{stdin} .= "\\q\n"; +$psql_primary{run}->finish; +$psql_standby{stdin} .= "\\q\n"; +$psql_standby{run}->finish; $node_primary->stop; $node_standby->stop;