Skip to content

Commit fe3c422

Browse files
committed
tests: additional retention test
1 parent 760c80f commit fe3c422

File tree

2 files changed

+47
-2
lines changed

2 files changed

+47
-2
lines changed

tests/delete_test.py

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,51 @@ def test_delete_full_backups(self):
5555
# Clean after yourself
5656
self.del_test_dir(module_name, fname)
5757

58+
# @unittest.skip("skip")
59+
# @unittest.expectedFailure
60+
def test_delete_archive_mix_compress_and_non_compressed_segments(self):
61+
"""delete full backups"""
62+
fname = self.id().split('.')[3]
63+
node = self.make_simple_node(
64+
base_dir="{0}/{1}/node".format(module_name, fname),
65+
initdb_params=['--data-checksums'],
66+
pg_options={'wal_level': 'replica'}
67+
)
68+
backup_dir = os.path.join(self.tmp_path, module_name, fname, 'backup')
69+
self.init_pb(backup_dir)
70+
self.add_instance(backup_dir, 'node', node)
71+
self.set_archiving(backup_dir, 'node', node)
72+
node.start()
73+
74+
# full backup
75+
self.backup_node(backup_dir, 'node', node)
76+
77+
pgbench = node.pgbench(
78+
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
79+
pgbench.wait()
80+
pgbench.stdout.close()
81+
82+
self.backup_node(backup_dir, 'node', node)
83+
84+
pgbench = node.pgbench(
85+
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
86+
pgbench.wait()
87+
pgbench.stdout.close()
88+
89+
self.backup_node(backup_dir, 'node', node)
90+
91+
show_backups = self.show_pb(backup_dir, 'node')
92+
id_1 = show_backups[0]['ID']
93+
id_2 = show_backups[1]['ID']
94+
id_3 = show_backups[2]['ID']
95+
self.delete_pb(backup_dir, 'node', id_2)
96+
show_backups = self.show_pb(backup_dir, 'node')
97+
self.assertEqual(show_backups[0]['ID'], id_1)
98+
self.assertEqual(show_backups[1]['ID'], id_3)
99+
100+
# Clean after yourself
101+
self.del_test_dir(module_name, fname)
102+
58103
# @unittest.skip("skip")
59104
def test_delete_increment_page(self):
60105
"""delete increment and all after him"""

tests/helpers/ptrack_helpers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -874,7 +874,7 @@ def get_recovery_conf(self, node):
874874
return out_dict
875875

876876
def set_archiving(
877-
self, backup_dir, instance, node, replica=False, overwrite=False,
877+
self, backup_dir, instance, node, replica=False, overwrite=False, compress=False,
878878
old_binary=False):
879879

880880
if replica:
@@ -895,7 +895,7 @@ def set_archiving(
895895
self.probackup_path, backup_dir, instance)
896896

897897
if os.name == 'posix':
898-
if self.archive_compress:
898+
if self.archive_compress or compress:
899899
archive_command = archive_command + "--compress "
900900

901901
if overwrite:

0 commit comments

Comments
 (0)