Skip to content

Commit 7ecb56e

Browse files
committed
[Issue #320] improve test coverage
1 parent b2ab1df commit 7ecb56e

File tree

3 files changed

+107
-53
lines changed

3 files changed

+107
-53
lines changed

tests/backup.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3027,3 +3027,54 @@ def test_issue_231(self):
30273027

30283028
# Clean after yourself
30293029
self.del_test_dir(module_name, fname)
3030+
3031+
def test_incr_backup_filenode_map(self):
3032+
"""
3033+
https://github.com/postgrespro/pg_probackup/issues/320
3034+
"""
3035+
fname = self.id().split('.')[3]
3036+
backup_dir = os.path.join(self.tmp_path, module_name, fname, 'backup')
3037+
node = self.make_simple_node(
3038+
base_dir=os.path.join(module_name, fname, 'node'),
3039+
initdb_params=['--data-checksums'])
3040+
3041+
self.init_pb(backup_dir)
3042+
self.add_instance(backup_dir, 'node', node)
3043+
self.set_archiving(backup_dir, 'node', node)
3044+
node.slow_start()
3045+
3046+
node1 = self.make_simple_node(
3047+
base_dir=os.path.join(module_name, fname, 'node1'),
3048+
initdb_params=['--data-checksums'])
3049+
node1.cleanup()
3050+
3051+
node.pgbench_init(scale=5)
3052+
3053+
# FULL backup
3054+
backup_id = self.backup_node(backup_dir, 'node', node)
3055+
3056+
pgbench = node.pgbench(
3057+
stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
3058+
options=['-T', '10', '-c', '1'])
3059+
3060+
backup_id = self.backup_node(backup_dir, 'node', node, backup_type='delta')
3061+
3062+
node.safe_psql(
3063+
'postgres',
3064+
'reindex index pg_type_oid_index')
3065+
3066+
backup_id = self.backup_node(
3067+
backup_dir, 'node', node, backup_type='delta')
3068+
3069+
# incremental restore into node1
3070+
node.cleanup()
3071+
3072+
self.restore_node(backup_dir, 'node', node)
3073+
node.slow_start()
3074+
3075+
node.safe_psql(
3076+
'postgres',
3077+
'select 1')
3078+
3079+
# Clean after yourself
3080+
self.del_test_dir(module_name, fname)

tests/incr_restore.py

Lines changed: 4 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -2392,7 +2392,9 @@ def test_incremental_partial_restore_exclude_tablespace_checksum(self):
23922392
self.del_test_dir(module_name, fname, [node2])
23932393

23942394
def test_incremental_pg_filenode_map(self):
2395-
""""""
2395+
"""
2396+
https://github.com/postgrespro/pg_probackup/issues/320
2397+
"""
23962398
fname = self.id().split('.')[3]
23972399
backup_dir = os.path.join(self.tmp_path, module_name, fname, 'backup')
23982400
node = self.make_simple_node(
@@ -2436,9 +2438,8 @@ def test_incremental_pg_filenode_map(self):
24362438

24372439
node1.stop()
24382440

2439-
24402441
# incremental restore into node1
2441-
self.restore_node(backup_dir, 'node', node1, options=["-I", "checksum", '--log-level-file=VERBOSE'])
2442+
self.restore_node(backup_dir, 'node', node1, options=["-I", "checksum"])
24422443

24432444
self.set_auto_conf(node1, {'port': node1.port})
24442445
node1.slow_start()
@@ -2450,55 +2451,5 @@ def test_incremental_pg_filenode_map(self):
24502451
# Clean after yourself
24512452
self.del_test_dir(module_name, fname)
24522453

2453-
2454-
def test_incr_backup_filenode_map(self):
2455-
""""""
2456-
fname = self.id().split('.')[3]
2457-
backup_dir = os.path.join(self.tmp_path, module_name, fname, 'backup')
2458-
node = self.make_simple_node(
2459-
base_dir=os.path.join(module_name, fname, 'node'),
2460-
initdb_params=['--data-checksums'])
2461-
2462-
self.init_pb(backup_dir)
2463-
self.add_instance(backup_dir, 'node', node)
2464-
self.set_archiving(backup_dir, 'node', node)
2465-
node.slow_start()
2466-
2467-
node1 = self.make_simple_node(
2468-
base_dir=os.path.join(module_name, fname, 'node1'),
2469-
initdb_params=['--data-checksums'])
2470-
node1.cleanup()
2471-
2472-
node.pgbench_init(scale=5)
2473-
2474-
# FULL backup
2475-
backup_id = self.backup_node(backup_dir, 'node', node)
2476-
2477-
pgbench = node.pgbench(
2478-
stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
2479-
options=['-T', '10', '-c', '1'])
2480-
2481-
backup_id = self.backup_node(backup_dir, 'node', node, backup_type='delta')
2482-
2483-
node.safe_psql(
2484-
'postgres',
2485-
'reindex index pg_type_oid_index')
2486-
2487-
backup_id = self.backup_node(
2488-
backup_dir, 'node', node, backup_type='delta', options=['--log-level-file=VERBOSE'])
2489-
2490-
# incremental restore into node1
2491-
node.cleanup()
2492-
2493-
self.restore_node(backup_dir, 'node', node)
2494-
node.slow_start()
2495-
2496-
node.safe_psql(
2497-
'postgres',
2498-
'select 1')
2499-
2500-
# Clean after yourself
2501-
self.del_test_dir(module_name, fname)
2502-
25032454
# check that MinRecPoint and BackupStartLsn are correctly used in case of --incrementa-lsn
25042455
# incremental restore + partial restore.

tests/merge.py

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2829,5 +2829,57 @@ def test_merge_remote_mode(self):
28292829

28302830
self.del_test_dir(module_name, fname)
28312831

2832+
def test_merge_pg_filenode_map(self):
2833+
"""
2834+
https://github.com/postgrespro/pg_probackup/issues/320
2835+
"""
2836+
fname = self.id().split('.')[3]
2837+
backup_dir = os.path.join(self.tmp_path, module_name, fname, 'backup')
2838+
node = self.make_simple_node(
2839+
base_dir=os.path.join(module_name, fname, 'node'),
2840+
initdb_params=['--data-checksums'])
2841+
2842+
self.init_pb(backup_dir)
2843+
self.add_instance(backup_dir, 'node', node)
2844+
self.set_archiving(backup_dir, 'node', node)
2845+
node.slow_start()
2846+
2847+
node1 = self.make_simple_node(
2848+
base_dir=os.path.join(module_name, fname, 'node1'),
2849+
initdb_params=['--data-checksums'])
2850+
node1.cleanup()
2851+
2852+
node.pgbench_init(scale=5)
2853+
2854+
# FULL backup
2855+
self.backup_node(backup_dir, 'node', node)
2856+
2857+
pgbench = node.pgbench(
2858+
stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
2859+
options=['-T', '10', '-c', '1'])
2860+
2861+
self.backup_node(backup_dir, 'node', node, backup_type='delta')
2862+
2863+
node.safe_psql(
2864+
'postgres',
2865+
'reindex index pg_type_oid_index')
2866+
2867+
backup_id = self.backup_node(
2868+
backup_dir, 'node', node, backup_type='delta')
2869+
2870+
self.merge_backup(backup_dir, 'node', backup_id)
2871+
2872+
node.cleanup()
2873+
2874+
self.restore_node(backup_dir, 'node', node)
2875+
node.slow_start()
2876+
2877+
node.safe_psql(
2878+
'postgres',
2879+
'select 1')
2880+
2881+
# Clean after yourself
2882+
self.del_test_dir(module_name, fname)
2883+
28322884
# 1. Need new test with corrupted FULL backup
28332885
# 2. different compression levels

0 commit comments

Comments
 (0)