@@ -55,6 +55,51 @@ def test_delete_full_backups(self):
55
55
# Clean after yourself
56
56
self .del_test_dir (module_name , fname )
57
57
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
+
58
103
# @unittest.skip("skip")
59
104
def test_delete_increment_page (self ):
60
105
"""delete increment and all after him"""
0 commit comments