mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 05:31:20 +00:00 
			
		
		
		
	
		
			
	
	
		
			30 lines
		
	
	
	
		
			943 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			30 lines
		
	
	
	
		
			943 B
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | """Basic test of the frozen module (source is in Python/frozen.c).""" | ||
|  | 
 | ||
|  | # The Python/frozen.c source code contains a marshalled Python module | ||
|  | # and therefore depends on the marshal format as well as the bytecode | ||
|  | # format.  If those formats have been changed then frozen.c needs to be | ||
|  | # updated. | ||
|  | # | ||
|  | # The test_importlib also tests this module but because those tests | ||
|  | # are much more complicated, it might be unclear why they are failing. | ||
|  | # Invalid marshalled data in frozen.c could case the interpreter to | ||
|  | # crash when __hello__ is imported. | ||
|  | 
 | ||
|  | import sys | ||
|  | import unittest | ||
|  | from test.support import captured_stdout | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestFrozen(unittest.TestCase): | ||
|  |     def test_frozen(self): | ||
|  |         name = '__hello__' | ||
|  |         if name in sys.modules: | ||
|  |             del sys.modules[name] | ||
|  |         with captured_stdout() as out: | ||
|  |             import __hello__ | ||
|  |         self.assertEqual(out.getvalue(), 'Hello world!\n') | ||
|  | 
 | ||
|  | 
 | ||
|  | if __name__ == '__main__': | ||
|  |     unittest.main() |