| 
									
										
										
										
											2022-01-22 19:05:05 +03:00
										 |  |  | from test.test_importlib import abc, util | 
					
						
							| 
									
										
										
										
											2009-01-18 00:24:28 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-16 11:40:40 -06:00
										 |  |  | machinery = util.import_importlib('importlib.machinery') | 
					
						
							| 
									
										
										
										
											2013-10-25 12:44:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-18 00:24:28 +00:00
										 |  |  | import sys | 
					
						
							|  |  |  | import unittest | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-25 12:44:36 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-09 14:32:57 -04:00
										 |  |  | @unittest.skipIf(util.BUILTINS.good_name is None, 'no reasonable builtin module') | 
					
						
							| 
									
										
										
										
											2013-11-22 09:05:39 -07:00
										 |  |  | class FindSpecTests(abc.FinderTests): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     """Test find_spec() for built-in modules.""" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_module(self): | 
					
						
							|  |  |  |         # Common case. | 
					
						
							| 
									
										
										
										
											2014-05-09 14:32:57 -04:00
										 |  |  |         with util.uncache(util.BUILTINS.good_name): | 
					
						
							|  |  |  |             found = self.machinery.BuiltinImporter.find_spec(util.BUILTINS.good_name) | 
					
						
							| 
									
										
										
										
											2013-11-22 09:05:39 -07:00
										 |  |  |             self.assertTrue(found) | 
					
						
							|  |  |  |             self.assertEqual(found.origin, 'built-in') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     # Built-in modules cannot be a package. | 
					
						
							|  |  |  |     test_package = None | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-14 14:04:53 +03:00
										 |  |  |     # Built-in modules cannot be in a package. | 
					
						
							| 
									
										
										
										
											2013-11-22 09:05:39 -07:00
										 |  |  |     test_module_in_package = None | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     # Built-in modules cannot be a package. | 
					
						
							|  |  |  |     test_package_in_package = None | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     # Built-in modules cannot be a package. | 
					
						
							|  |  |  |     test_package_over_module = None | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_failure(self): | 
					
						
							|  |  |  |         name = 'importlib' | 
					
						
							|  |  |  |         assert name not in sys.builtin_module_names | 
					
						
							|  |  |  |         spec = self.machinery.BuiltinImporter.find_spec(name) | 
					
						
							|  |  |  |         self.assertIsNone(spec) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-05-16 11:40:40 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | (Frozen_FindSpecTests, | 
					
						
							|  |  |  |  Source_FindSpecTests | 
					
						
							|  |  |  |  ) = util.test_both(FindSpecTests, machinery=machinery) | 
					
						
							| 
									
										
										
										
											2013-11-22 09:05:39 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-18 00:24:28 +00:00
										 |  |  | if __name__ == '__main__': | 
					
						
							| 
									
										
										
										
											2013-10-25 12:33:59 -04:00
										 |  |  |     unittest.main() |