aboutsummaryrefslogtreecommitdiff
path: root/src/bin/pg_rewind/t/002_databases.pl
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/pg_rewind/t/002_databases.pl')
-rw-r--r--src/bin/pg_rewind/t/002_databases.pl46
1 files changed, 27 insertions, 19 deletions
diff --git a/src/bin/pg_rewind/t/002_databases.pl b/src/bin/pg_rewind/t/002_databases.pl
index 709c81e2650..1cf9a3a65d3 100644
--- a/src/bin/pg_rewind/t/002_databases.pl
+++ b/src/bin/pg_rewind/t/002_databases.pl
@@ -1,41 +1,49 @@
use strict;
use warnings;
use TestLib;
-use Test::More tests => 2;
+use Test::More tests => 4;
use RewindTest;
-my $testmode = shift;
+sub run_test
+{
+ my $test_mode = shift;
-RewindTest::init_rewind_test('databases', $testmode);
-RewindTest::setup_cluster();
+ RewindTest::init_rewind_test('databases', $test_mode);
+ RewindTest::setup_cluster();
-# Create a database in master.
-master_psql('CREATE DATABASE inmaster');
+ # Create a database in master.
+ master_psql('CREATE DATABASE inmaster');
-RewindTest::create_standby();
+ RewindTest::create_standby();
-# Create another database, the creation is replicated to the standby
-master_psql('CREATE DATABASE beforepromotion');
+ # Create another database, the creation is replicated to the standby
+ master_psql('CREATE DATABASE beforepromotion');
-RewindTest::promote_standby();
+ RewindTest::promote_standby();
-# Create databases in the old master and the new promoted standby.
-master_psql('CREATE DATABASE master_afterpromotion');
-standby_psql('CREATE DATABASE standby_afterpromotion');
-# The clusters are now diverged.
+ # Create databases in the old master and the new promoted standby.
+ master_psql('CREATE DATABASE master_afterpromotion');
+ standby_psql('CREATE DATABASE standby_afterpromotion');
+ # The clusters are now diverged.
-RewindTest::run_pg_rewind();
+ RewindTest::run_pg_rewind($test_mode);
-# Check that the correct databases are present after pg_rewind.
-check_query('SELECT datname FROM pg_database',
- qq(template1
+ # Check that the correct databases are present after pg_rewind.
+ check_query('SELECT datname FROM pg_database',
+ qq(template1
template0
postgres
inmaster
beforepromotion
standby_afterpromotion
),
- 'database names');
+ 'database names');
+
+}
+
+# Run the test in both modes.
+run_test('local');
+run_test('remote');
exit(0);