@@ -2872,10 +2872,6 @@ def test_issue_289(self):
28722872backup_dir = os .path .join (self .tmp_path ,module_name ,fname ,'backup' )
28732873self .init_pb (backup_dir )
28742874self .add_instance (backup_dir ,'node' ,node )
2875- # self.set_archiving(backup_dir, 'node', node)
2876-
2877- # os.rmdir(
2878- # os.path.join(backup_dir, "wal", "node"))
28792875
28802876node .slow_start ()
28812877
@@ -2905,7 +2901,54 @@ def test_issue_289(self):
29052901self .assertEqual (
29062902self .show_pb (backup_dir ,'node' )[0 ]['status' ],"ERROR" )
29072903
2908- exit (1 )
2904+ # Clean after yourself
2905+ self .del_test_dir (module_name ,fname )
2906+
2907+ # @unittest.skip("skip")
2908+ def test_issue_290 (self ):
2909+ """
2910+ https://github.com/postgrespro/pg_probackup/issues/290
2911+ """
2912+ fname = self .id ().split ('.' )[3 ]
2913+ node = self .make_simple_node (
2914+ base_dir = os .path .join (module_name ,fname ,'node' ),
2915+ initdb_params = ['--data-checksums' ])
2916+
2917+ backup_dir = os .path .join (self .tmp_path ,module_name ,fname ,'backup' )
2918+ self .init_pb (backup_dir )
2919+ self .add_instance (backup_dir ,'node' ,node )
2920+ self .set_archiving (backup_dir ,'node' ,node )
2921+
2922+ os .rmdir (
2923+ os .path .join (backup_dir ,"wal" ,"node" ))
2924+
2925+ node .slow_start ()
2926+
2927+ try :
2928+ self .backup_node (
2929+ backup_dir ,'node' ,node ,
2930+ options = ['--archive-timeout=10s' ])
2931+ # we should die here because exception is what we expect to happen
2932+ self .assertEqual (
2933+ 1 ,0 ,
2934+ "Expecting Error because full backup is missing"
2935+ "\n Output: {0}\n CMD: {1}" .format (
2936+ repr (self .output ),self .cmd ))
2937+ except ProbackupException as e :
2938+ self .assertNotIn (
2939+ "INFO: Wait for WAL segment" ,
2940+ e .message ,
2941+ "\n Unexpected Error Message: {0}\n CMD: {1}" .format (
2942+ repr (e .message ),self .cmd ))
2943+
2944+ self .assertIn (
2945+ "WAL archive directory is not accessible" ,
2946+ e .message ,
2947+ "\n Unexpected Error Message: {0}\n CMD: {1}" .format (
2948+ repr (e .message ),self .cmd ))
2949+
2950+ self .assertEqual (
2951+ self .show_pb (backup_dir ,'node' )[0 ]['status' ],"ERROR" )
29092952
29102953# Clean after yourself
29112954self .del_test_dir (module_name ,fname )