@@ -2772,5 +2772,62 @@ def test_missing_non_data_file(self):
27722772
27732773self .del_test_dir (module_name ,fname )
27742774
2775+ # @unittest.skip("skip")
2776+ def test_merge_remote_mode (self ):
2777+ """
2778+ """
2779+ fname = self .id ().split ('.' )[3 ]
2780+ backup_dir = os .path .join (self .tmp_path ,module_name ,fname ,'backup' )
2781+ node = self .make_simple_node (
2782+ base_dir = os .path .join (module_name ,fname ,'node' ),
2783+ set_replication = True ,
2784+ initdb_params = ['--data-checksums' ],
2785+ pg_options = {'autovacuum' :'off' })
2786+
2787+ self .init_pb (backup_dir )
2788+ self .add_instance (backup_dir ,'node' ,node )
2789+ self .set_archiving (backup_dir ,'node' ,node )
2790+ node .slow_start ()
2791+
2792+ # FULL backup
2793+ full_id = self .backup_node (backup_dir ,'node' ,node )
2794+
2795+ # DELTA backup
2796+ delta_id = self .backup_node (backup_dir ,'node' ,node ,backup_type = 'delta' )
2797+
2798+ self .set_config (backup_dir ,'node' ,options = ['--retention-window=1' ])
2799+
2800+ backups = os .path .join (backup_dir ,'backups' ,'node' )
2801+ with open (
2802+ os .path .join (
2803+ backups ,full_id ,"backup.control" ),"a" )as conf :
2804+ conf .write ("recovery_time='{:%Y-%m-%d %H:%M:%S}'\n " .format (
2805+ datetime .now ()- timedelta (days = 5 )))
2806+
2807+ gdb = self .backup_node (
2808+ backup_dir ,"node" ,node ,
2809+ options = ['--log-level-file=VERBOSE' ,'--merge-expired' ],gdb = True )
2810+ gdb .set_breakpoint ('merge_files' )
2811+ gdb .run_until_break ()
2812+
2813+ logfile = os .path .join (backup_dir ,'log' ,'pg_probackup.log' )
2814+
2815+ with open (logfile ,"rw+" )as f :
2816+ f .truncate ()
2817+
2818+ gdb .continue_execution_until_exit ()
2819+
2820+ logfile = os .path .join (backup_dir ,'log' ,'pg_probackup.log' )
2821+ with open (logfile ,'r' )as f :
2822+ logfile_content = f .read ()
2823+
2824+ self .assertNotIn (
2825+ 'SSH' ,logfile_content )
2826+
2827+ self .assertEqual (
2828+ 'OK' ,self .show_pb (backup_dir ,'node' )[0 ]['status' ])
2829+
2830+ self .del_test_dir (module_name ,fname )
2831+
27752832# 1. Need new test with corrupted FULL backup
27762833# 2. different compression levels