mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-03-01 19:45:33 +08:00
Shut down test servers after pg_rewind regression tests.
Now that the test servers are initialized twice in each .pl script, the single END block is not enough to stop them. Add a new clean_rewind_test function that is called at the end of each test. Michael Paquier
This commit is contained in:
parent
3d80a1e0e3
commit
0d8a22a9ac
@ -22,6 +22,9 @@ package RewindTest;
|
||||
# 5. run_pg_rewind - stops the old master (if it's still running) and runs
|
||||
# pg_rewind to synchronize it with the now-promoted standby server.
|
||||
#
|
||||
# 6. clean_rewind_test - stops both servers used in the test, if they're
|
||||
# still running.
|
||||
#
|
||||
# The test script can use the helper functions master_psql and standby_psql
|
||||
# to run psql against the master and standby servers, respectively. The
|
||||
# test script can also use the $connstr_master and $connstr_standby global
|
||||
@ -56,6 +59,7 @@ our @EXPORT = qw(
|
||||
create_standby
|
||||
promote_standby
|
||||
run_pg_rewind
|
||||
clean_rewind_test
|
||||
);
|
||||
|
||||
|
||||
@ -262,9 +266,8 @@ recovery_target_timeline='latest'
|
||||
}
|
||||
|
||||
# Clean up after the test. Stop both servers, if they're still running.
|
||||
END
|
||||
sub clean_rewind_test
|
||||
{
|
||||
my $save_rc = $?;
|
||||
if ($test_master_datadir)
|
||||
{
|
||||
system "pg_ctl -D $test_master_datadir -s -m immediate stop 2> /dev/null";
|
||||
@ -273,5 +276,12 @@ END
|
||||
{
|
||||
system "pg_ctl -D $test_standby_datadir -s -m immediate stop 2> /dev/null";
|
||||
}
|
||||
}
|
||||
|
||||
# Stop the test servers, just in case they're still running.
|
||||
END
|
||||
{
|
||||
my $save_rc = $?;
|
||||
clean_rewind_test();
|
||||
$? = $save_rc;
|
||||
}
|
||||
|
@ -78,6 +78,7 @@ in master, before promotion
|
||||
),
|
||||
'tail-copy');
|
||||
|
||||
RewindTest::clean_rewind_test();
|
||||
}
|
||||
|
||||
# Run the test in both modes
|
||||
|
@ -40,6 +40,7 @@ standby_afterpromotion
|
||||
),
|
||||
'database names');
|
||||
|
||||
RewindTest::clean_rewind_test();
|
||||
}
|
||||
|
||||
# Run the test in both modes.
|
||||
|
@ -62,6 +62,8 @@ sub run_test
|
||||
"$test_master_datadir/tst_standby_dir/standby_subdir",
|
||||
"$test_master_datadir/tst_standby_dir/standby_subdir/standby_file3"],
|
||||
"file lists match");
|
||||
|
||||
RewindTest::clean_rewind_test();
|
||||
}
|
||||
|
||||
# Run the test in both modes.
|
||||
|
Loading…
Reference in New Issue
Block a user