Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit0b4d09e

Browse files
committed
[Issue#109] added test validate.ValidateTest.test_recovery_target_backup_victim
1 parent3cc9d81 commit0b4d09e

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

‎tests/validate.py

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3497,6 +3497,65 @@ def test_validate_target_lsn(self):
34973497
'--recovery-target-timeline=2',
34983498
'--recovery-target-lsn={0}'.format(target_lsn)])
34993499

3500+
# @unittest.expectedFailure
3501+
# @unittest.skip("skip")
3502+
deftest_recovery_target_backup_victim(self):
3503+
"""
3504+
Check that for validation to recovery target
3505+
probackup chooses valid backup
3506+
https://github.com/postgrespro/pg_probackup/issues/104
3507+
"""
3508+
fname=self.id().split('.')[3]
3509+
backup_dir=os.path.join(self.tmp_path,module_name,fname,'backup')
3510+
node=self.make_simple_node(
3511+
base_dir=os.path.join(module_name,fname,'node'),
3512+
set_replication=True,
3513+
initdb_params=['--data-checksums'])
3514+
3515+
self.init_pb(backup_dir)
3516+
self.add_instance(backup_dir,'node',node)
3517+
self.set_archiving(backup_dir,'node',node)
3518+
node.slow_start()
3519+
3520+
# FULL backup
3521+
self.backup_node(backup_dir,'node',node)
3522+
3523+
node.safe_psql(
3524+
"postgres",
3525+
"create table t_heap as select 1 as id, md5(i::text) as text, "
3526+
"md5(repeat(i::text,10))::tsvector as tsvector "
3527+
"from generate_series(0,10000) i")
3528+
3529+
target_time=node.safe_psql(
3530+
"postgres",
3531+
"select now()").rstrip()
3532+
3533+
node.safe_psql(
3534+
"postgres",
3535+
"create table t_heap1 as select 1 as id, md5(i::text) as text, "
3536+
"md5(repeat(i::text,10))::tsvector as tsvector "
3537+
"from generate_series(0,100) i")
3538+
3539+
gdb=self.backup_node(backup_dir,'node',node,gdb=True)
3540+
3541+
gdb.set_breakpoint('pg_stop_backup')
3542+
gdb.run_until_break()
3543+
gdb.remove_all_breakpoints()
3544+
gdb._execute('signal SIGINT')
3545+
gdb.continue_execution_until_error()
3546+
3547+
backup_id=self.show_pb(backup_dir,'node')[1]['id']
3548+
3549+
self.assertEqual(
3550+
'ERROR',
3551+
self.show_pb(backup_dir,'node',backup_id)['status'],
3552+
'Backup STATUS should be "ERROR"')
3553+
3554+
self.validate_pb(
3555+
backup_dir,'node',
3556+
options=['--recovery-target-time={0}'.format(target_time)])
3557+
3558+
35003559
# validate empty backup list
35013560
# page from future during validate
35023561
# page from future during backup

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp