Skip to content

Commit 11c02e9

Browse files
committed
[Issue #108] added test validate.ValidateTest.test_validate_target_lsn
1 parent b799b70 commit 11c02e9

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

tests/validate.py

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3443,6 +3443,60 @@ def test_validate_corrupt_tablespace_map(self):
34433443
'\n Unexpected Error Message: {0}\n CMD: {1}'.format(
34443444
repr(e.message), self.cmd))
34453445

3446+
# @unittest.expectedFailure
3447+
# @unittest.skip("skip")
3448+
def test_validate_target_lsn(self):
3449+
"""
3450+
Check validation to specific LSN
3451+
"""
3452+
fname = self.id().split('.')[3]
3453+
backup_dir = os.path.join(self.tmp_path, module_name, fname, 'backup')
3454+
node = self.make_simple_node(
3455+
base_dir=os.path.join(module_name, fname, 'node'),
3456+
set_replication=True,
3457+
initdb_params=['--data-checksums'])
3458+
3459+
self.init_pb(backup_dir)
3460+
self.add_instance(backup_dir, 'node', node)
3461+
self.set_archiving(backup_dir, 'node', node)
3462+
node.slow_start()
3463+
3464+
# FULL backup
3465+
self.backup_node(backup_dir, 'node', node)
3466+
3467+
node.safe_psql(
3468+
"postgres",
3469+
"create table t_heap as select 1 as id, md5(i::text) as text, "
3470+
"md5(repeat(i::text,10))::tsvector as tsvector "
3471+
"from generate_series(0,10000) i")
3472+
3473+
node_restored = self.make_simple_node(
3474+
base_dir=os.path.join(module_name, fname, 'node_restored'))
3475+
node_restored.cleanup()
3476+
3477+
self.restore_node(backup_dir, 'node', node_restored)
3478+
3479+
node_restored.append_conf(
3480+
"postgresql.auto.conf", "port = {0}".format(node_restored.port))
3481+
3482+
node_restored.slow_start()
3483+
3484+
self.switch_wal_segment(node)
3485+
3486+
backup_id = self.backup_node(
3487+
backup_dir, 'node', node_restored,
3488+
data_dir=node_restored.data_dir)
3489+
3490+
target_lsn = self.show_pb(backup_dir, 'node')[1]['stop-lsn']
3491+
3492+
self.delete_pb(backup_dir, 'node', backup_id)
3493+
3494+
self.validate_pb(
3495+
backup_dir, 'node',
3496+
options=[
3497+
'--recovery-target-timeline=2',
3498+
'--recovery-target-lsn={0}'.format(target_lsn)])
3499+
34463500
# validate empty backup list
34473501
# page from future during validate
34483502
# page from future during backup

0 commit comments

Comments
 (0)