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