File tree 1 file changed +22
-0
lines changed 1 file changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -722,6 +722,28 @@ def format_mtime(mtime):
722
722
tar .close ()
723
723
os_helper .rmtree (DIR )
724
724
725
+ @staticmethod
726
+ @unittest .mock .patch ("tarfile.data_filter" , wraps = tarfile .data_filter )
727
+ @unittest .mock .patch ("tarfile.tar_filter" , wraps = tarfile .tar_filter )
728
+ @unittest .mock .patch ("tarfile.fully_trusted_filter" , wraps = tarfile .fully_trusted_filter )
729
+ def test_extractall_default_filter (mock_ft_filter : unittest .mock .Mock ,
730
+ mock_tar_filter : unittest .mock .Mock ,
731
+ mock_data_filter : unittest .mock .Mock ):
732
+ tar = tarfile .open (tarname , encoding = "iso8859-1" )
733
+ DIR = os .path .join (TEMPDIR , "extractall_default_filter" )
734
+ os .mkdir (DIR )
735
+ try :
736
+ directories = [t for t in tar if t .isdir ()]
737
+ tar .extractall (DIR , directories )
738
+
739
+ # Test that the default filter is now "data", and the other filter types are not used.
740
+ mock_data_filter .assert_called ()
741
+ mock_ft_filter .assert_not_called ()
742
+ mock_tar_filter .assert_not_called ()
743
+ finally :
744
+ tar .close ()
745
+ os_helper .rmtree (DIR )
746
+
725
747
@os_helper .skip_unless_working_chmod
726
748
def test_extract_directory (self ):
727
749
dirtype = "ustar/dirtype"
You can’t perform that action at this time.
0 commit comments