mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	
		
			
	
	
		
			32 lines
		
	
	
	
		
			1,012 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			32 lines
		
	
	
	
		
			1,012 B
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | import os | ||
|  | import textwrap | ||
|  | import unittest | ||
|  | 
 | ||
|  | from test import support | ||
|  | from test.support.script_helper import assert_python_ok | ||
|  | 
 | ||
|  | 
 | ||
|  | class TestLLTrace(unittest.TestCase): | ||
|  | 
 | ||
|  |     def test_lltrace_does_not_crash_on_subscript_operator(self): | ||
|  |         # If this test fails, it will reproduce a crash reported as | ||
|  |         # bpo-34113. The crash happened at the command line console of | ||
|  |         # debug Python builds with __ltrace__ enabled (only possible in console), | ||
|  |         # when the interal Python stack was negatively adjusted | ||
|  |         with open(support.TESTFN, 'w') as fd: | ||
|  |             self.addCleanup(os.unlink, support.TESTFN) | ||
|  |             fd.write(textwrap.dedent("""\
 | ||
|  |             import code | ||
|  | 
 | ||
|  |             console = code.InteractiveConsole() | ||
|  |             console.push('__ltrace__ = 1') | ||
|  |             console.push('a = [1, 2, 3]') | ||
|  |             console.push('a[0] = 1') | ||
|  |             print('unreachable if bug exists') | ||
|  |             """))
 | ||
|  | 
 | ||
|  |             assert_python_ok(support.TESTFN) | ||
|  | 
 | ||
|  | if __name__ == "__main__": | ||
|  |     unittest.main() |