python (3.12.0)
1 from test.test_importlib import abc, util
2
3 machinery = util.import_importlib('importlib.machinery')
4
5 import unittest
6 import sys
7
8
9 class ESC[4;38;5;81mFinderTests(ESC[4;38;5;149mabcESC[4;38;5;149m.ESC[4;38;5;149mFinderTests):
10
11 """Test the finder for extension modules."""
12
13 def setUp(self):
14 if not self.machinery.EXTENSION_SUFFIXES:
15 raise unittest.SkipTest("Requires dynamic loading support.")
16 if util.EXTENSIONS.name in sys.builtin_module_names:
17 raise unittest.SkipTest(
18 f"{util.EXTENSIONS.name} is a builtin module"
19 )
20
21 def find_spec(self, fullname):
22 importer = self.machinery.FileFinder(util.EXTENSIONS.path,
23 (self.machinery.ExtensionFileLoader,
24 self.machinery.EXTENSION_SUFFIXES))
25
26 return importer.find_spec(fullname)
27
28 def test_module(self):
29 self.assertTrue(self.find_spec(util.EXTENSIONS.name))
30
31 # No extension module as an __init__ available for testing.
32 test_package = test_package_in_package = None
33
34 # No extension module in a package available for testing.
35 test_module_in_package = None
36
37 # Extension modules cannot be an __init__ for a package.
38 test_package_over_module = None
39
40 def test_failure(self):
41 self.assertIsNone(self.find_spec('asdfjkl;'))
42
43
44 (Frozen_FinderTests,
45 Source_FinderTests
46 ) = util.test_both(FinderTests, machinery=machinery)
47
48
49 if __name__ == '__main__':
50 unittest.main()