11from pathlib import Path
22from test .support .import_helper import unload , CleanImport
3- from test .support .warnings_helper import check_warnings
3+ from test .support .warnings_helper import check_warnings , ignore_warnings
44import unittest
55import sys
66import importlib
@@ -535,25 +535,18 @@ class ImportlibMigrationTests(unittest.TestCase):
535535 # PEP 302 emulation in this module is in the process of being
536536 # deprecated in favour of importlib proper
537537
538- def test_get_loader_avoids_emulation (self ):
539- with check_warnings () as w :
540- self .assertIsNotNone (pkgutil .get_loader ("sys" ))
541- self .assertIsNotNone (pkgutil .get_loader ("os" ))
542- self .assertIsNotNone (pkgutil .get_loader ("test.support" ))
543- self .assertEqual (len (w .warnings ), 0 )
544-
545538 @unittest .skipIf (__name__ == '__main__' , 'not compatible with __main__' )
539+ @ignore_warnings (category = DeprecationWarning )
546540 def test_get_loader_handles_missing_loader_attribute (self ):
547541 global __loader__
548542 this_loader = __loader__
549543 del __loader__
550544 try :
551- with check_warnings () as w :
552- self .assertIsNotNone (pkgutil .get_loader (__name__ ))
553- self .assertEqual (len (w .warnings ), 0 )
545+ self .assertIsNotNone (pkgutil .get_loader (__name__ ))
554546 finally :
555547 __loader__ = this_loader
556548
549+ @ignore_warnings (category = DeprecationWarning )
557550 def test_get_loader_handles_missing_spec_attribute (self ):
558551 name = 'spam'
559552 mod = type (sys )(name )
@@ -563,6 +556,7 @@ def test_get_loader_handles_missing_spec_attribute(self):
563556 loader = pkgutil .get_loader (name )
564557 self .assertIsNone (loader )
565558
559+ @ignore_warnings (category = DeprecationWarning )
566560 def test_get_loader_handles_spec_attribute_none (self ):
567561 name = 'spam'
568562 mod = type (sys )(name )
@@ -572,6 +566,7 @@ def test_get_loader_handles_spec_attribute_none(self):
572566 loader = pkgutil .get_loader (name )
573567 self .assertIsNone (loader )
574568
569+ @ignore_warnings (category = DeprecationWarning )
575570 def test_get_loader_None_in_sys_modules (self ):
576571 name = 'totally bogus'
577572 sys .modules [name ] = None
@@ -581,18 +576,26 @@ def test_get_loader_None_in_sys_modules(self):
581576 del sys .modules [name ]
582577 self .assertIsNone (loader )
583578
579+ def test_get_loader_is_deprecated (self ):
580+ with check_warnings (
581+ (r".*\bpkgutil.get_loader\b.*" , DeprecationWarning ),
582+ ):
583+ res = pkgutil .get_loader ("sys" )
584+ self .assertIsNotNone (res )
585+
586+ def test_find_loader_is_deprecated (self ):
587+ with check_warnings (
588+ (r".*\bpkgutil.find_loader\b.*" , DeprecationWarning ),
589+ ):
590+ res = pkgutil .find_loader ("sys" )
591+ self .assertIsNotNone (res )
592+
593+ @ignore_warnings (category = DeprecationWarning )
584594 def test_find_loader_missing_module (self ):
585595 name = 'totally bogus'
586596 loader = pkgutil .find_loader (name )
587597 self .assertIsNone (loader )
588598
589- def test_find_loader_avoids_emulation (self ):
590- with check_warnings () as w :
591- self .assertIsNotNone (pkgutil .find_loader ("sys" ))
592- self .assertIsNotNone (pkgutil .find_loader ("os" ))
593- self .assertIsNotNone (pkgutil .find_loader ("test.support" ))
594- self .assertEqual (len (w .warnings ), 0 )
595-
596599 def test_get_importer_avoids_emulation (self ):
597600 # We use an illegal path so *none* of the path hooks should fire
598601 with check_warnings () as w :
0 commit comments