mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 10:26:02 +00:00 
			
		
		
		
	 13d9205f40
			
		
	
	
		13d9205f40
		
			
		
	
	
	
	
		
			
			The "freeze" tool has been part of the repo for a long time. However, it hasn't had any tests in the test suite to guard against regressions. We add such a test here. This is especially important as there has been a lot of change recently related to frozen modules, with more to come. Note that as part of the test we build Python out-of-tree and install it in a temp dir. https://bugs.python.org/issue45629
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			829 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			829 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| """Sanity-check tests for the "freeze" tool."""
 | |
| 
 | |
| import sys
 | |
| import textwrap
 | |
| import unittest
 | |
| 
 | |
| from test import support
 | |
| 
 | |
| from . import imports_under_tool, skip_if_missing
 | |
| skip_if_missing('freeze')
 | |
| with imports_under_tool('freeze', 'test'):
 | |
|     import freeze as helper
 | |
| 
 | |
| 
 | |
| @unittest.skipIf(sys.platform.startswith('win'), 'not supported on Windows')
 | |
| @support.skip_if_buildbot('not all buildbots have enough space')
 | |
| class TestFreeze(unittest.TestCase):
 | |
| 
 | |
|     def test_freeze_simple_script(self):
 | |
|         script = textwrap.dedent("""
 | |
|             import sys
 | |
|             print('running...')
 | |
|             sys.exit(0)
 | |
|             """)
 | |
|         outdir, scriptfile, python = helper.prepare(script)
 | |
| 
 | |
|         executable = helper.freeze(python, scriptfile, outdir)
 | |
|         text = helper.run(executable)
 | |
|         self.assertEqual(text, 'running...')
 |