diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/pg_rewind/RewindTest.pm | 14 | ||||
-rw-r--r-- | src/bin/pg_rewind/t/001_basic.pl | 1 | ||||
-rw-r--r-- | src/bin/pg_rewind/t/002_databases.pl | 1 | ||||
-rw-r--r-- | src/bin/pg_rewind/t/003_extrafiles.pl | 2 |
4 files changed, 16 insertions, 2 deletions
diff --git a/src/bin/pg_rewind/RewindTest.pm b/src/bin/pg_rewind/RewindTest.pm index 50cae2c2632..e6a5b9b3d95 100644 --- a/src/bin/pg_rewind/RewindTest.pm +++ b/src/bin/pg_rewind/RewindTest.pm @@ -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; } diff --git a/src/bin/pg_rewind/t/001_basic.pl b/src/bin/pg_rewind/t/001_basic.pl index ae26d0129ea..a1d679f6b8f 100644 --- a/src/bin/pg_rewind/t/001_basic.pl +++ b/src/bin/pg_rewind/t/001_basic.pl @@ -78,6 +78,7 @@ in master, before promotion ), 'tail-copy'); + RewindTest::clean_rewind_test(); } # Run the test in both modes diff --git a/src/bin/pg_rewind/t/002_databases.pl b/src/bin/pg_rewind/t/002_databases.pl index 1cf9a3a65d3..be1e1948a7f 100644 --- a/src/bin/pg_rewind/t/002_databases.pl +++ b/src/bin/pg_rewind/t/002_databases.pl @@ -40,6 +40,7 @@ standby_afterpromotion ), 'database names'); + RewindTest::clean_rewind_test(); } # Run the test in both modes. diff --git a/src/bin/pg_rewind/t/003_extrafiles.pl b/src/bin/pg_rewind/t/003_extrafiles.pl index 218b865940c..ed50659195b 100644 --- a/src/bin/pg_rewind/t/003_extrafiles.pl +++ b/src/bin/pg_rewind/t/003_extrafiles.pl @@ -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. |