mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Initial take on importlib.test.loader_tests.
This commit is contained in:
		
							parent
							
								
									73662a54f5
								
							
						
					
					
						commit
						a74ccea968
					
				
					 2 changed files with 66 additions and 8 deletions
				
			
		|  | @ -1,15 +1,12 @@ | ||||||
| to do | to do | ||||||
| ///// | ///// | ||||||
| 
 | 
 | ||||||
| * Standardized loader tests. | * Use test.loader_tests | ||||||
| 
 | 
 | ||||||
|     + Create test.loader_tests. |     + builtin | ||||||
|     + Use |     + frozen | ||||||
| 
 |     + extension | ||||||
| 	- builtin |     + source | ||||||
| 	- frozen |  | ||||||
| 	- extension |  | ||||||
| 	-source |  | ||||||
| 
 | 
 | ||||||
| * Reorganize support code. | * Reorganize support code. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										61
									
								
								Lib/importlib/test/loader_tests.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								Lib/importlib/test/loader_tests.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,61 @@ | ||||||
|  | import abc | ||||||
|  | import unittest | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class LoaderTests(unittest.TestCase, metaclass=abc.ABCMeta): | ||||||
|  | 
 | ||||||
|  |     @abc.abstractmethod | ||||||
|  |     def test_module(self): | ||||||
|  |         """A module should load without issue. | ||||||
|  | 
 | ||||||
|  |         After the loader returns the module should be in sys.modules. | ||||||
|  | 
 | ||||||
|  |         Attributes to verify: | ||||||
|  | 
 | ||||||
|  |             * __file__ | ||||||
|  |             * __loader__ | ||||||
|  |             * __name__ | ||||||
|  |             * No __path__ | ||||||
|  | 
 | ||||||
|  |         """ | ||||||
|  |         pass | ||||||
|  | 
 | ||||||
|  |     @abc.abstractmethod | ||||||
|  |     def test_package(self): | ||||||
|  |         """Loading a package should work. | ||||||
|  | 
 | ||||||
|  |         After the loader returns the module should be in sys.modules. | ||||||
|  | 
 | ||||||
|  |         Attributes to verify: | ||||||
|  | 
 | ||||||
|  |             * __file__ | ||||||
|  |             * __loader__ | ||||||
|  |             * __name__ | ||||||
|  |             * __path__ | ||||||
|  | 
 | ||||||
|  |         """ | ||||||
|  |         pass | ||||||
|  | 
 | ||||||
|  |     @abc.abstractmethod | ||||||
|  |     def test_lacking_parent(self): | ||||||
|  |         """A loader should not be dependent on it's parent package being | ||||||
|  |         imported.""" | ||||||
|  |         pass | ||||||
|  | 
 | ||||||
|  |     @abc.abstractmethod | ||||||
|  |     def test_module_reuse(self): | ||||||
|  |         """If a module is already in sys.modules, it should be reused.""" | ||||||
|  |         pass | ||||||
|  | 
 | ||||||
|  |     @abc.abstractmethod | ||||||
|  |     def test_state_after_failure(self): | ||||||
|  |         """If a module is already in sys.modules and a reload fails | ||||||
|  |         (e.g. a SyntaxError), the module should be in the state it was before | ||||||
|  |         the reload began.""" | ||||||
|  |         pass | ||||||
|  | 
 | ||||||
|  |     @abc.abstractmethod | ||||||
|  |     def test_unloadable(self): | ||||||
|  |         """Test ImportError is raised when the loader is asked to load a module | ||||||
|  |         it can't.""" | ||||||
|  |         pass | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Brett Cannon
						Brett Cannon