@@ -736,62 +736,6 @@ def test_iterparse(self):
736736 with self .assertRaises (FileNotFoundError ):
737737 iterparse ("nonexistent" )
738738
739- def test_iterparse_resource_warning (self ):
740- # Test ResourceWarning when iterparse with filename is not closed
741- import warnings
742-
743- # Should emit warning when not closed
744- with warnings .catch_warnings (record = True ) as w :
745- warnings .simplefilter ("always" , ResourceWarning )
746-
747- def create_unclosed ():
748- context = ET .iterparse (SIMPLE_XMLFILE )
749- next (context )
750- # Don't close - should warn
751-
752- create_unclosed ()
753- gc_collect ()
754-
755- resource_warnings = [x for x in w
756- if issubclass (x .category , ResourceWarning )]
757- self .assertGreater (len (resource_warnings ), 0 ,
758- "Expected ResourceWarning when iterparse is not closed" )
759-
760- # Should NOT warn when explicitly closed
761- with warnings .catch_warnings (record = True ) as w :
762- warnings .simplefilter ("always" , ResourceWarning )
763-
764- def create_closed ():
765- context = ET .iterparse (SIMPLE_XMLFILE )
766- next (context )
767- context .close ()
768-
769- create_closed ()
770- gc_collect ()
771-
772- resource_warnings = [x for x in w
773- if issubclass (x .category , ResourceWarning )]
774- self .assertEqual (len (resource_warnings ), 0 ,
775- "No warning expected when iterparse is properly closed" )
776-
777- # Should NOT warn for file objects (externally managed)
778- with open (SIMPLE_XMLFILE , 'rb' ) as source :
779- with warnings .catch_warnings (record = True ) as w :
780- warnings .simplefilter ("always" , ResourceWarning )
781-
782- def create_with_fileobj ():
783- context = ET .iterparse (source )
784- next (context )
785- # Don't close - file object managed externally
786-
787- create_with_fileobj ()
788- gc_collect ()
789-
790- resource_warnings = [x for x in w
791- if issubclass (x .category , ResourceWarning )]
792- self .assertEqual (len (resource_warnings ), 0 ,
793- "No warning for file objects managed externally" )
794-
795739 def test_iterparse_close (self ):
796740 iterparse = ET .iterparse
797741
0 commit comments