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

Commit87f214e

Browse files
committed
tests: added validate.ValidateTest.test_recovery_target_lsn_backup_victim
1 parentcd00806 commit87f214e

File tree

2 files changed

+59
-1
lines changed

2 files changed

+59
-1
lines changed

‎tests/pgpro560.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from .helpers.ptrack_helpersimportProbackupTest,ProbackupException
44
fromdatetimeimportdatetime,timedelta
55
importsubprocess
6+
fromtimeimportsleep
67

78

89
module_name='pgpro560'
@@ -98,6 +99,8 @@ def test_pgpro560_systemid_mismatch(self):
9899
'\n Unexpected Error Message: {0}\n CMD: {1}'.format(
99100
repr(e.message),self.cmd))
100101

102+
sleep(1)
103+
101104
try:
102105
self.backup_node(
103106
backup_dir,'node1',node2,

‎tests/validate.py

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3499,7 +3499,7 @@ def test_validate_target_lsn(self):
34993499

35003500
# @unittest.expectedFailure
35013501
# @unittest.skip("skip")
3502-
deftest_recovery_target_backup_victim(self):
3502+
deftest_recovery_target_time_backup_victim(self):
35033503
"""
35043504
Check that for validation to recovery target
35053505
probackup chooses valid backup
@@ -3555,6 +3555,61 @@ def test_recovery_target_backup_victim(self):
35553555
backup_dir,'node',
35563556
options=['--recovery-target-time={0}'.format(target_time)])
35573557

3558+
# @unittest.expectedFailure
3559+
# @unittest.skip("skip")
3560+
deftest_recovery_target_lsn_backup_victim(self):
3561+
"""
3562+
Check that for validation to recovery target
3563+
probackup chooses valid backup
3564+
https://github.com/postgrespro/pg_probackup/issues/104
3565+
"""
3566+
fname=self.id().split('.')[3]
3567+
backup_dir=os.path.join(self.tmp_path,module_name,fname,'backup')
3568+
node=self.make_simple_node(
3569+
base_dir=os.path.join(module_name,fname,'node'),
3570+
set_replication=True,
3571+
initdb_params=['--data-checksums'])
3572+
3573+
self.init_pb(backup_dir)
3574+
self.add_instance(backup_dir,'node',node)
3575+
self.set_archiving(backup_dir,'node',node)
3576+
node.slow_start()
3577+
3578+
# FULL backup
3579+
self.backup_node(backup_dir,'node',node)
3580+
3581+
node.safe_psql(
3582+
"postgres",
3583+
"create table t_heap as select 1 as id, md5(i::text) as text, "
3584+
"md5(repeat(i::text,10))::tsvector as tsvector "
3585+
"from generate_series(0,10000) i")
3586+
3587+
node.safe_psql(
3588+
"postgres",
3589+
"create table t_heap1 as select 1 as id, md5(i::text) as text, "
3590+
"md5(repeat(i::text,10))::tsvector as tsvector "
3591+
"from generate_series(0,100) i")
3592+
3593+
gdb=self.backup_node(backup_dir,'node',node,gdb=True)
3594+
3595+
gdb.set_breakpoint('pg_stop_backup')
3596+
gdb.run_until_break()
3597+
gdb.remove_all_breakpoints()
3598+
gdb._execute('signal SIGINT')
3599+
gdb.continue_execution_until_error()
3600+
3601+
backup_id=self.show_pb(backup_dir,'node')[1]['id']
3602+
3603+
self.assertEqual(
3604+
'ERROR',
3605+
self.show_pb(backup_dir,'node',backup_id)['status'],
3606+
'Backup STATUS should be "ERROR"')
3607+
3608+
target_lsn=self.show_pb(backup_dir,'node',backup_id)['start-lsn']
3609+
3610+
self.validate_pb(
3611+
backup_dir,'node',
3612+
options=['--recovery-target-lsn={0}'.format(target_lsn)])
35583613

35593614
# validate empty backup list
35603615
# page from future during validate

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp