@@ -441,18 +441,25 @@ def evaluate(source):
441
441
evaluate (source )
442
442
except SyntaxError :
443
443
e = sys .exc_info ()[1 ]
444
- if not PYPY :
444
+ if not PYPY and sys . version_info < ( 3 , 10 ) :
445
445
self .assertTrue (e .text .count ('\n ' ) > 1 )
446
446
else :
447
447
self .fail ()
448
448
449
449
with self .makeTempFile (source ) as sourcePath :
450
450
if PYPY :
451
451
message = 'end of file (EOF) while scanning triple-quoted string literal'
452
+ elif sys .version_info >= (3 , 10 ):
453
+ message = 'unterminated triple-quoted string literal (detected at line 8)' # noqa: E501
452
454
else :
453
455
message = 'invalid syntax'
454
456
455
- column = 8 if sys .version_info >= (3 , 8 ) else 11
457
+ if sys .version_info >= (3 , 10 ):
458
+ column = 12
459
+ elif sys .version_info >= (3 , 8 ):
460
+ column = 8
461
+ else :
462
+ column = 11
456
463
self .assertHasErrors (
457
464
sourcePath ,
458
465
["""\
@@ -468,21 +475,25 @@ def test_eofSyntaxError(self):
468
475
"""
469
476
with self .makeTempFile ("def foo(" ) as sourcePath :
470
477
if PYPY :
471
- result = """\
472
- %s:1:7: parenthesis is never closed
473
- def foo(
474
- ^
475
- """ % (sourcePath ,)
478
+ msg = 'parenthesis is never closed'
479
+ elif sys .version_info >= (3 , 10 ):
480
+ msg = "'(' was never closed"
476
481
else :
477
- result = """\
478
- %s:1:9: unexpected EOF while parsing
479
- def foo(
480
- ^
481
- """ % (sourcePath ,)
482
+ msg = 'unexpected EOF while parsing'
482
483
483
- self .assertHasErrors (
484
- sourcePath ,
485
- [result ])
484
+ if PYPY :
485
+ column = 7
486
+ elif sys .version_info >= (3 , 10 ):
487
+ column = 8
488
+ else :
489
+ column = 9
490
+
491
+ spaces = ' ' * (column - 1 )
492
+ expected = '{}:1:{}: {}\n def foo(\n {}^\n ' .format (
493
+ sourcePath , column , msg , spaces
494
+ )
495
+
496
+ self .assertHasErrors (sourcePath , [expected ])
486
497
487
498
def test_eofSyntaxErrorWithTab (self ):
488
499
"""
@@ -515,6 +526,8 @@ def foo(bar=baz, bax):
515
526
if ERROR_HAS_LAST_LINE :
516
527
if PYPY :
517
528
column = 7
529
+ elif sys .version_info >= (3 , 10 ):
530
+ column = 18
518
531
elif sys .version_info >= (3 , 9 ):
519
532
column = 21
520
533
elif sys .version_info >= (3 , 8 ):
0 commit comments