@@ -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"""
0 commit comments