mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Issue #14605: Expose importlib.abc.FileLoader and
importlib.machinery.(FileFinder, SourceFileLoader, _SourcelessFileLoader, ExtensionFileLoader). This exposes all of importlib's mechanisms that will become public on the sys module.
This commit is contained in:
		
							parent
							
								
									8c5e920ae3
								
							
						
					
					
						commit
						938d44d59c
					
				
					 17 changed files with 3246 additions and 3076 deletions
				
			
		|  | @ -27,7 +27,7 @@ class SimpleTest(unittest.TestCase): | |||
|     # [basic] | ||||
|     def test_module(self): | ||||
|         with source_util.create_modules('_temp') as mapping: | ||||
|             loader = _bootstrap._SourceFileLoader('_temp', mapping['_temp']) | ||||
|             loader = _bootstrap.SourceFileLoader('_temp', mapping['_temp']) | ||||
|             module = loader.load_module('_temp') | ||||
|             self.assertTrue('_temp' in sys.modules) | ||||
|             check = {'__name__': '_temp', '__file__': mapping['_temp'], | ||||
|  | @ -37,7 +37,7 @@ def test_module(self): | |||
| 
 | ||||
|     def test_package(self): | ||||
|         with source_util.create_modules('_pkg.__init__') as mapping: | ||||
|             loader = _bootstrap._SourceFileLoader('_pkg', | ||||
|             loader = _bootstrap.SourceFileLoader('_pkg', | ||||
|                                                  mapping['_pkg.__init__']) | ||||
|             module = loader.load_module('_pkg') | ||||
|             self.assertTrue('_pkg' in sys.modules) | ||||
|  | @ -50,7 +50,7 @@ def test_package(self): | |||
| 
 | ||||
|     def test_lacking_parent(self): | ||||
|         with source_util.create_modules('_pkg.__init__', '_pkg.mod')as mapping: | ||||
|             loader = _bootstrap._SourceFileLoader('_pkg.mod', | ||||
|             loader = _bootstrap.SourceFileLoader('_pkg.mod', | ||||
|                                                     mapping['_pkg.mod']) | ||||
|             module = loader.load_module('_pkg.mod') | ||||
|             self.assertTrue('_pkg.mod' in sys.modules) | ||||
|  | @ -65,7 +65,7 @@ def fake_mtime(self, fxn): | |||
| 
 | ||||
|     def test_module_reuse(self): | ||||
|         with source_util.create_modules('_temp') as mapping: | ||||
|             loader = _bootstrap._SourceFileLoader('_temp', mapping['_temp']) | ||||
|             loader = _bootstrap.SourceFileLoader('_temp', mapping['_temp']) | ||||
|             module = loader.load_module('_temp') | ||||
|             module_id = id(module) | ||||
|             module_dict_id = id(module.__dict__) | ||||
|  | @ -90,7 +90,7 @@ def test_state_after_failure(self): | |||
|                 setattr(orig_module, attr, value) | ||||
|             with open(mapping[name], 'w') as file: | ||||
|                 file.write('+++ bad syntax +++') | ||||
|             loader = _bootstrap._SourceFileLoader('_temp', mapping['_temp']) | ||||
|             loader = _bootstrap.SourceFileLoader('_temp', mapping['_temp']) | ||||
|             with self.assertRaises(SyntaxError): | ||||
|                 loader.load_module(name) | ||||
|             for attr in attributes: | ||||
|  | @ -101,7 +101,7 @@ def test_bad_syntax(self): | |||
|         with source_util.create_modules('_temp') as mapping: | ||||
|             with open(mapping['_temp'], 'w') as file: | ||||
|                 file.write('=') | ||||
|             loader = _bootstrap._SourceFileLoader('_temp', mapping['_temp']) | ||||
|             loader = _bootstrap.SourceFileLoader('_temp', mapping['_temp']) | ||||
|             with self.assertRaises(SyntaxError): | ||||
|                 loader.load_module('_temp') | ||||
|             self.assertTrue('_temp' not in sys.modules) | ||||
|  | @ -114,7 +114,7 @@ def test_file_from_empty_string_dir(self): | |||
|             file.write("# test file for importlib") | ||||
|         try: | ||||
|             with util.uncache('_temp'): | ||||
|                 loader = _bootstrap._SourceFileLoader('_temp', file_path) | ||||
|                 loader = _bootstrap.SourceFileLoader('_temp', file_path) | ||||
|                 mod = loader.load_module('_temp') | ||||
|                 self.assertEqual(file_path, mod.__file__) | ||||
|                 self.assertEqual(imp.cache_from_source(file_path), | ||||
|  | @ -140,7 +140,7 @@ def test_timestamp_overflow(self): | |||
|                 if e.errno != getattr(errno, 'EOVERFLOW', None): | ||||
|                     raise | ||||
|                 self.skipTest("cannot set modification time to large integer ({})".format(e)) | ||||
|             loader = _bootstrap._SourceFileLoader('_temp', mapping['_temp']) | ||||
|             loader = _bootstrap.SourceFileLoader('_temp', mapping['_temp']) | ||||
|             mod = loader.load_module('_temp') | ||||
|             # Sanity checks. | ||||
|             self.assertEqual(mod.__cached__, compiled) | ||||
|  | @ -255,7 +255,7 @@ def _test_bad_magic(self, test, *, del_source=False): | |||
| 
 | ||||
| class SourceLoaderBadBytecodeTest(BadBytecodeTest): | ||||
| 
 | ||||
|     loader = _bootstrap._SourceFileLoader | ||||
|     loader = _bootstrap.SourceFileLoader | ||||
| 
 | ||||
|     @source_util.writes_bytecode_files | ||||
|     def test_empty_file(self): | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Brett Cannon
						Brett Cannon