Skip to content

Commit 92a73d1

Browse files
committed
tests: added restore.RestoreTest.test_pg_10_waldir
1 parent 18cfcdd commit 92a73d1

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

tests/restore.py

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from time import sleep
88
from datetime import datetime, timedelta
99
import hashlib
10+
import shutil
1011

1112

1213
module_name = 'restore'
@@ -2193,3 +2194,52 @@ def test_pg_11_group_access(self):
21932194

21942195
# Clean after yourself
21952196
self.del_test_dir(module_name, fname)
2197+
2198+
# @unittest.skip("skip")
2199+
def test_pg_10_waldir(self):
2200+
"""
2201+
test group access for PG >= 11
2202+
"""
2203+
fname = self.id().split('.')[3]
2204+
wal_dir = os.path.join(
2205+
os.path.join(self.tmp_path, module_name, fname), 'wal_dir')
2206+
shutil.rmtree(wal_dir, ignore_errors=True)
2207+
node = self.make_simple_node(
2208+
base_dir=os.path.join(module_name, fname, 'node'),
2209+
set_replication=True,
2210+
initdb_params=[
2211+
'--data-checksums',
2212+
'--waldir={0}'.format(wal_dir)])
2213+
2214+
backup_dir = os.path.join(self.tmp_path, module_name, fname, 'backup')
2215+
self.init_pb(backup_dir)
2216+
self.add_instance(backup_dir, 'node', node)
2217+
node.slow_start()
2218+
2219+
if self.get_version(node) < self.version_to_num('10.0'):
2220+
return unittest.skip('You need PostgreSQL >= 10 for this test')
2221+
2222+
# take FULL backup
2223+
self.backup_node(
2224+
backup_dir, 'node', node, options=['--stream'])
2225+
2226+
pgdata = self.pgdata_content(node.data_dir)
2227+
2228+
# restore backup
2229+
node_restored = self.make_simple_node(
2230+
base_dir=os.path.join(module_name, fname, 'node_restored'))
2231+
node_restored.cleanup()
2232+
2233+
self.restore_node(
2234+
backup_dir, 'node', node_restored)
2235+
2236+
# compare pgdata permissions
2237+
pgdata_restored = self.pgdata_content(node_restored.data_dir)
2238+
self.compare_pgdata(pgdata, pgdata_restored)
2239+
2240+
self.assertTrue(
2241+
os.path.islink(os.path.join(node_restored.data_dir, 'pg_wal')),
2242+
'pg_wal should be symlink')
2243+
2244+
# Clean after yourself
2245+
self.del_test_dir(module_name, fname)

0 commit comments

Comments
 (0)