@@ -64,12 +64,15 @@ def test_exceptionhook(capsys: CaptureFixture) -> None:
64
64
local_lineno = test_exceptionhook .__code__ .co_firstlineno
65
65
lineno = raise_excgroup .__code__ .co_firstlineno
66
66
module_prefix = "" if sys .version_info >= (3 , 11 ) else "exceptiongroup."
67
+ underline_suffix = (
68
+ "" if sys .version_info < (3 , 13 ) else "\n | ~~~~~~~~~~~~~~^^"
69
+ )
67
70
output = capsys .readouterr ().err
68
71
assert output == (
69
72
f"""\
70
73
+ Exception Group Traceback (most recent call last):
71
74
| File "{ __file__ } ", line { local_lineno + 2 } , in test_exceptionhook
72
- | raise_excgroup()
75
+ | raise_excgroup(){ underline_suffix }
73
76
| File "{ __file__ } ", line { lineno + 15 } , in raise_excgroup
74
77
| raise exc
75
78
| { module_prefix } ExceptionGroup: test message (2 sub-exceptions)
@@ -163,13 +166,16 @@ def test_exceptionhook_format_exception_only(capsys: CaptureFixture) -> None:
163
166
local_lineno = test_exceptionhook_format_exception_only .__code__ .co_firstlineno
164
167
lineno = raise_excgroup .__code__ .co_firstlineno
165
168
module_prefix = "" if sys .version_info >= (3 , 11 ) else "exceptiongroup."
169
+ underline_suffix = (
170
+ "" if sys .version_info < (3 , 13 ) else "\n | ~~~~~~~~~~~~~~^^"
171
+ )
166
172
output = capsys .readouterr ().err
167
173
assert output == (
168
174
f"""\
169
175
+ Exception Group Traceback (most recent call last):
170
176
| File "{ __file__ } ", line { local_lineno + 2 } , in \
171
177
test_exceptionhook_format_exception_only
172
- | raise_excgroup()
178
+ | raise_excgroup(){ underline_suffix }
173
179
| File "{ __file__ } ", line { lineno + 15 } , in raise_excgroup
174
180
| raise exc
175
181
| { module_prefix } ExceptionGroup: test message (2 sub-exceptions)
@@ -204,13 +210,14 @@ def test_formatting_syntax_error(capsys: CaptureFixture) -> None:
204
210
underline = "\n ^"
205
211
206
212
lineno = test_formatting_syntax_error .__code__ .co_firstlineno
213
+ underline_suffix = "" if sys .version_info < (3 , 13 ) else "\n ~~~~^^^^^^^^^^^^"
207
214
output = capsys .readouterr ().err
208
215
assert output == (
209
216
f"""\
210
217
Traceback (most recent call last):
211
218
File "{ __file__ } ", line { lineno + 2 } , \
212
219
in test_formatting_syntax_error
213
- exec("//serser")
220
+ exec("//serser"){ underline_suffix }
214
221
File "<string>", line 1
215
222
//serser{ underline }
216
223
SyntaxError: invalid syntax
@@ -254,11 +261,14 @@ def test_format_exception(
254
261
lineno = raise_excgroup .__code__ .co_firstlineno
255
262
assert isinstance (lines , list )
256
263
module_prefix = "" if sys .version_info >= (3 , 11 ) else "exceptiongroup."
264
+ underline_suffix = (
265
+ "" if sys .version_info < (3 , 13 ) else "\n | ~~~~~~~~~~~~~~^^"
266
+ )
257
267
assert "" .join (lines ) == (
258
268
f"""\
259
269
+ Exception Group Traceback (most recent call last):
260
270
| File "{ __file__ } ", line { local_lineno + 25 } , in test_format_exception
261
- | raise_excgroup()
271
+ | raise_excgroup(){ underline_suffix }
262
272
| File "{ __file__ } ", line { lineno + 15 } , in raise_excgroup
263
273
| raise exc
264
274
| { module_prefix } ExceptionGroup: test message (2 sub-exceptions)
@@ -303,6 +313,10 @@ def raise_exc(max_level: int, level: int = 1) -> NoReturn:
303
313
except Exception as exc :
304
314
lines = format_exception (type (exc ), exc , exc .__traceback__ )
305
315
316
+ underline_suffix1 = (
317
+ "" if sys .version_info < (3 , 13 ) else "\n ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^"
318
+ )
319
+ underline_suffix2 = "" if sys .version_info < (3 , 13 ) else "\n ~~~~~~~~~^^^"
306
320
local_lineno = test_format_nested .__code__ .co_firstlineno + 20
307
321
raise_exc_lineno1 = raise_exc .__code__ .co_firstlineno + 2
308
322
raise_exc_lineno2 = raise_exc .__code__ .co_firstlineno + 5
@@ -312,7 +326,7 @@ def raise_exc(max_level: int, level: int = 1) -> NoReturn:
312
326
f"""\
313
327
Traceback (most recent call last):
314
328
File "{ __file__ } ", line { raise_exc_lineno2 } , in raise_exc
315
- raise_exc(max_level, level + 1)
329
+ raise_exc(max_level, level + 1){ underline_suffix1 }
316
330
File "{ __file__ } ", line { raise_exc_lineno1 } , in raise_exc
317
331
raise Exception(f"LEVEL_{{level}}")
318
332
Exception: LEVEL_3
@@ -321,7 +335,7 @@ def raise_exc(max_level: int, level: int = 1) -> NoReturn:
321
335
322
336
Traceback (most recent call last):
323
337
File "{ __file__ } ", line { raise_exc_lineno2 } , in raise_exc
324
- raise_exc(max_level, level + 1)
338
+ raise_exc(max_level, level + 1){ underline_suffix1 }
325
339
File "{ __file__ } ", line { raise_exc_lineno3 } , in raise_exc
326
340
raise Exception(f"LEVEL_{{level}}")
327
341
Exception: LEVEL_2
@@ -330,7 +344,7 @@ def raise_exc(max_level: int, level: int = 1) -> NoReturn:
330
344
331
345
Traceback (most recent call last):
332
346
File "{ __file__ } ", line { local_lineno } , in test_format_nested
333
- raise_exc(3)
347
+ raise_exc(3){ underline_suffix2 }
334
348
File "{ __file__ } ", line { raise_exc_lineno3 } , in raise_exc
335
349
raise Exception(f"LEVEL_{{level}}")
336
350
Exception: LEVEL_1
@@ -388,12 +402,15 @@ def test_print_exception(
388
402
local_lineno = test_print_exception .__code__ .co_firstlineno
389
403
lineno = raise_excgroup .__code__ .co_firstlineno
390
404
module_prefix = "" if sys .version_info >= (3 , 11 ) else "exceptiongroup."
405
+ underline_suffix = (
406
+ "" if sys .version_info < (3 , 13 ) else "\n | ~~~~~~~~~~~~~~^^"
407
+ )
391
408
output = capsys .readouterr ().err
392
409
assert output == (
393
410
f"""\
394
411
+ Exception Group Traceback (most recent call last):
395
412
| File "{ __file__ } ", line { local_lineno + 13 } , in test_print_exception
396
- | raise_excgroup()
413
+ | raise_excgroup(){ underline_suffix }
397
414
| File "{ __file__ } ", line { lineno + 15 } , in raise_excgroup
398
415
| raise exc
399
416
| { module_prefix } ExceptionGroup: test message (2 sub-exceptions)
@@ -433,12 +450,15 @@ def test_print_exc(
433
450
local_lineno = test_print_exc .__code__ .co_firstlineno
434
451
lineno = raise_excgroup .__code__ .co_firstlineno
435
452
module_prefix = "" if sys .version_info >= (3 , 11 ) else "exceptiongroup."
453
+ underline_suffix = (
454
+ "" if sys .version_info < (3 , 13 ) else "\n | ~~~~~~~~~~~~~~^^"
455
+ )
436
456
output = capsys .readouterr ().err
437
457
assert output == (
438
458
f"""\
439
459
+ Exception Group Traceback (most recent call last):
440
460
| File "{ __file__ } ", line { local_lineno + 13 } , in test_print_exc
441
- | raise_excgroup()
461
+ | raise_excgroup(){ underline_suffix }
442
462
| File "{ __file__ } ", line { lineno + 15 } , in raise_excgroup
443
463
| raise exc
444
464
| { module_prefix } ExceptionGroup: test message (2 sub-exceptions)
0 commit comments