mirror of
				https://github.com/python/cpython.git
				synced 2025-10-26 11:14:33 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			943 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			29 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()
 | 
