1  from test.test_importlib import abc, util
       2  
       3  machinery = util.import_importlib('importlib.machinery')
       4  
       5  import sys
       6  import unittest
       7  import warnings
       8  
       9  
      10  @unittest.skipIf(util.BUILTINS.good_name is None, 'no reasonable builtin module')
      11  class ESC[4;38;5;81mFindSpecTests(ESC[4;38;5;149mabcESC[4;38;5;149m.ESC[4;38;5;149mFinderTests):
      12  
      13      """Test find_spec() for built-in modules."""
      14  
      15      def test_module(self):
      16          # Common case.
      17          with util.uncache(util.BUILTINS.good_name):
      18              found = self.machinery.BuiltinImporter.find_spec(util.BUILTINS.good_name)
      19              self.assertTrue(found)
      20              self.assertEqual(found.origin, 'built-in')
      21  
      22      # Built-in modules cannot be a package.
      23      test_package = None
      24  
      25      # Built-in modules cannot be in a package.
      26      test_module_in_package = None
      27  
      28      # Built-in modules cannot be a package.
      29      test_package_in_package = None
      30  
      31      # Built-in modules cannot be a package.
      32      test_package_over_module = None
      33  
      34      def test_failure(self):
      35          name = 'importlib'
      36          assert name not in sys.builtin_module_names
      37          spec = self.machinery.BuiltinImporter.find_spec(name)
      38          self.assertIsNone(spec)
      39  
      40  
      41  (Frozen_FindSpecTests,
      42   Source_FindSpecTests
      43   ) = util.test_both(FindSpecTests, machinery=machinery)
      44  
      45  
      46  if __name__ == '__main__':
      47      unittest.main()