mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 21:51:50 +00:00 
			
		
		
		
	Correction for issue1134: all source files with a coding spec, except latin-1
and utf-8, crashed when parsing a multiline string, or a line longer that 512 columns.
This commit is contained in:
		
							parent
							
								
									c05f42a8a7
								
							
						
					
					
						commit
						65f9aced6e
					
				
					 2 changed files with 50 additions and 15 deletions
				
			
		|  | @ -1,6 +1,6 @@ | |||
| 
 | ||||
| import test.test_support, unittest | ||||
| import os | ||||
| import os, sys | ||||
| 
 | ||||
| class CodingTest(unittest.TestCase): | ||||
|     def test_bad_coding(self): | ||||
|  | @ -26,6 +26,26 @@ def test_exec_valid_coding(self): | |||
|         exec('# coding: cp949\na = 5\n', d) | ||||
|         self.assertEqual(d['a'], 5) | ||||
| 
 | ||||
|     def test_file_parse(self): | ||||
|         # issue1134: all encodings outside latin-1 and utf-8 fail on | ||||
|         # multiline strings and long lines (>512 columns) | ||||
|         sys.path.insert(0, ".") | ||||
|         filename = test.test_support.TESTFN+".py" | ||||
|         f = open(filename, "w") | ||||
|         try: | ||||
|             f.write("# -*- coding: cp1252 -*-\n") | ||||
|             f.write("'''A short string\n") | ||||
|             f.write("'''\n") | ||||
|             f.write("'A very long string %s'\n" % ("X" * 1000)) | ||||
|             f.close() | ||||
| 
 | ||||
|             __import__(test.test_support.TESTFN) | ||||
|         finally: | ||||
|             f.close() | ||||
|             os.remove(test.test_support.TESTFN+".py") | ||||
|             os.remove(test.test_support.TESTFN+".pyc") | ||||
|             sys.path.pop(0) | ||||
| 
 | ||||
| def test_main(): | ||||
|     test.test_support.run_unittest(CodingTest) | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Amaury Forgeot d'Arc
						Amaury Forgeot d'Arc