Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple formatting tests fail with Python 3.13.0b1 #122

Closed
2 tasks done
mgorny opened this issue May 14, 2024 · 1 comment
Closed
2 tasks done

Multiple formatting tests fail with Python 3.13.0b1 #122

mgorny opened this issue May 14, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@mgorny
Copy link
Contributor

mgorny commented May 14, 2024

Things to check first

  • I have searched the existing issues and didn't find my bug already reported there

  • I have checked that my bug is still present in the latest release

Exceptiongroup version

54d8b8d

Python version

3.13.0b1

What happened?

Running the test suite against Python 3.13, I'm getting a bunch of test failures:

========================================================= test session starts =========================================================
platform linux -- Python 3.13.0b1, pytest-8.2.0, pluggy-1.5.0
rootdir: /tmp/exceptiongroup
configfile: pyproject.toml
testpaths: tests
collected 100 items                                                                                                                   

tests/test_apport_monkeypatching.py s                                                                                           [  1%]
tests/test_catch.py .................                                                                                           [ 18%]
tests/test_catch_py311.py ..........                                                                                            [ 28%]
tests/test_exceptions.py ............................................                                                           [ 72%]
tests/test_formatting.py F..FFFFssF..ssFFssFs.s.s.s.                                                                            [ 99%]
tests/test_suppress.py .                                                                                                        [100%]

============================================================== FAILURES ===============================================================
_________________________________________________________ test_exceptionhook __________________________________________________________
tests/test_formatting.py:68: in test_exceptionhook
    assert output == (
E   assert '  + Exceptio...-----------\n' == '  + Exceptio...-----------\n'
E     
E     Skipping 166 identical leading characters in diff, use -v to show
E       p()
E     +   |     ~~~~~~~~~~~~~~^^
E         |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 29, in raise_excgroup
E         |     raise exc
E         | ExceptionGroup: test message (2 sub-exceptions)...
E     
E     ...Full output truncated (13 lines hidden), use '-vv' to show
______________________________________________ test_exceptionhook_format_exception_only _______________________________________________
tests/test_formatting.py:167: in test_exceptionhook_format_exception_only
    assert output == (
E   assert '  + Exceptio...-----------\n' == '  + Exceptio...-----------\n'
E     
E     Skipping 189 identical leading characters in diff, use -v to show
E       p()
E     +   |     ~~~~~~~~~~~~~~^^
E         |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 29, in raise_excgroup
E         |     raise exc
E         | ExceptionGroup: test message (2 sub-exceptions)...
E     
E     ...Full output truncated (13 lines hidden), use '-vv' to show
____________________________________________________ test_formatting_syntax_error _____________________________________________________
tests/test_formatting.py:208: in test_formatting_syntax_error
    assert output == (
E   assert 'Traceback (m...alid syntax\n' == 'Traceback (m...alid syntax\n'
E     
E     Skipping 145 identical leading characters in diff, use -v to show
E       erser")
E     +     ~~~~^^^^^^^^^^^^
E         File "<string>", line 1
E           //serser
E           ^^
E       SyntaxError: invalid syntax
_______________________________________________ test_format_exception[patched-newstyle] _______________________________________________
  + Exception Group Traceback (most recent call last):
  |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 246, in test_format_exception
  |     raise_excgroup()
  |     ~~~~~~~~~~~~~~^^
  |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 29, in raise_excgroup
  |     raise exc
  | ExceptionGroup: test message (2 sub-exceptions)
  | Displays notes attached to the group too
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 17, in raise_excgroup
    |     raise ValueError("foo")
    | ValueError: foo
    +---------------- 2 ----------------
    | Traceback (most recent call last):
    |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 22, in raise_excgroup
    |     raise RuntimeError("bar")
    | RuntimeError: bar
    | Note from bar handler
    +------------------------------------

During handling of the above exception, another exception occurred:
tests/test_formatting.py:257: in test_format_exception
    assert "".join(lines) == (
E   assert '  + Exceptio...-----------\n' == '  + Exceptio...-----------\n'
E     
E     Skipping 170 identical leading characters in diff, use -v to show
E       p()
E     +   |     ~~~~~~~~~~~~~~^^
E         |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 29, in raise_excgroup
E         |     raise exc
E         | ExceptionGroup: test message (2 sub-exceptions)...
E     
E     ...Full output truncated (13 lines hidden), use '-vv' to show
_______________________________________________ test_format_exception[patched-oldstyle] _______________________________________________
  + Exception Group Traceback (most recent call last):
  |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 246, in test_format_exception
  |     raise_excgroup()
  |     ~~~~~~~~~~~~~~^^
  |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 29, in raise_excgroup
  |     raise exc
  | ExceptionGroup: test message (2 sub-exceptions)
  | Displays notes attached to the group too
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 17, in raise_excgroup
    |     raise ValueError("foo")
    | ValueError: foo
    +---------------- 2 ----------------
    | Traceback (most recent call last):
    |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 22, in raise_excgroup
    |     raise RuntimeError("bar")
    | RuntimeError: bar
    | Note from bar handler
    +------------------------------------

During handling of the above exception, another exception occurred:
tests/test_formatting.py:257: in test_format_exception
    assert "".join(lines) == (
E   assert '  + Exceptio...-----------\n' == '  + Exceptio...-----------\n'
E     
E     Skipping 170 identical leading characters in diff, use -v to show
E       p()
E     +   |     ~~~~~~~~~~~~~~^^
E         |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 29, in raise_excgroup
E         |     raise exc
E         | ExceptionGroup: test message (2 sub-exceptions)...
E     
E     ...Full output truncated (13 lines hidden), use '-vv' to show
_________________________________________________________ test_format_nested __________________________________________________________
tests/test_formatting.py:311: in test_format_nested
    assert "".join(lines) == (
E   assert 'Traceback (m...on: LEVEL_1\n' == 'Traceback (m...on: LEVEL_1\n'
E     
E     Skipping 141 identical leading characters in diff, use -v to show
E       el + 1)
E     +     ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
E         File "/tmp/exceptiongroup/tests/test_formatting.py", line 294, in raise_exc
E           raise Exception(f"LEVEL_{level}")
E       Exception: LEVEL_3...
E     
E     ...Full output truncated (20 lines hidden), use '-vv' to show
_______________________________________________ test_print_exception[patched-newstyle] ________________________________________________
  + Exception Group Traceback (most recent call last):
  |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 381, in test_print_exception
  |     raise_excgroup()
  |     ~~~~~~~~~~~~~~^^
  |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 29, in raise_excgroup
  |     raise exc
  | ExceptionGroup: test message (2 sub-exceptions)
  | Displays notes attached to the group too
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 17, in raise_excgroup
    |     raise ValueError("foo")
    | ValueError: foo
    +---------------- 2 ----------------
    | Traceback (most recent call last):
    |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 22, in raise_excgroup
    |     raise RuntimeError("bar")
    | RuntimeError: bar
    | Note from bar handler
    +------------------------------------

During handling of the above exception, another exception occurred:
tests/test_formatting.py:392: in test_print_exception
    assert output == (
E   assert '  + Exceptio...-----------\n' == '  + Exceptio...-----------\n'
E     
E     Skipping 169 identical leading characters in diff, use -v to show
E       p()
E     +   |     ~~~~~~~~~~~~~~^^
E         |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 29, in raise_excgroup
E         |     raise exc
E         | ExceptionGroup: test message (2 sub-exceptions)...
E     
E     ...Full output truncated (13 lines hidden), use '-vv' to show
_______________________________________________ test_print_exception[patched-oldstyle] ________________________________________________
  + Exception Group Traceback (most recent call last):
  |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 381, in test_print_exception
  |     raise_excgroup()
  |     ~~~~~~~~~~~~~~^^
  |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 29, in raise_excgroup
  |     raise exc
  | ExceptionGroup: test message (2 sub-exceptions)
  | Displays notes attached to the group too
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 17, in raise_excgroup
    |     raise ValueError("foo")
    | ValueError: foo
    +---------------- 2 ----------------
    | Traceback (most recent call last):
    |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 22, in raise_excgroup
    |     raise RuntimeError("bar")
    | RuntimeError: bar
    | Note from bar handler
    +------------------------------------

During handling of the above exception, another exception occurred:
tests/test_formatting.py:392: in test_print_exception
    assert output == (
E   assert '  + Exceptio...-----------\n' == '  + Exceptio...-----------\n'
E     
E     Skipping 169 identical leading characters in diff, use -v to show
E       p()
E     +   |     ~~~~~~~~~~~~~~^^
E         |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 29, in raise_excgroup
E         |     raise exc
E         | ExceptionGroup: test message (2 sub-exceptions)...
E     
E     ...Full output truncated (13 lines hidden), use '-vv' to show
_______________________________________________________ test_print_exc[patched] _______________________________________________________
  + Exception Group Traceback (most recent call last):
  |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 430, in test_print_exc
  |     raise_excgroup()
  |     ~~~~~~~~~~~~~~^^
  |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 29, in raise_excgroup
  |     raise exc
  | ExceptionGroup: test message (2 sub-exceptions)
  | Displays notes attached to the group too
  +-+---------------- 1 ----------------
    | Traceback (most recent call last):
    |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 17, in raise_excgroup
    |     raise ValueError("foo")
    | ValueError: foo
    +---------------- 2 ----------------
    | Traceback (most recent call last):
    |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 22, in raise_excgroup
    |     raise RuntimeError("bar")
    | RuntimeError: bar
    | Note from bar handler
    +------------------------------------

During handling of the above exception, another exception occurred:
tests/test_formatting.py:437: in test_print_exc
    assert output == (
E   assert '  + Exceptio...-----------\n' == '  + Exceptio...-----------\n'
E     
E     Skipping 163 identical leading characters in diff, use -v to show
E       p()
E     +   |     ~~~~~~~~~~~~~~^^
E         |   File "/tmp/exceptiongroup/tests/test_formatting.py", line 29, in raise_excgroup
E         |     raise exc
E         | ExceptionGroup: test message (2 sub-exceptions)...
E     
E     ...Full output truncated (13 lines hidden), use '-vv' to show
======================================================= short test summary info =======================================================
SKIPPED [1] tests/test_apport_monkeypatching.py:39: need Ubuntu with python3-apport installed
SKIPPED [2] tests/test_formatting.py:221: No patching is done on Python >= 3.11
SKIPPED [2] tests/test_formatting.py:341: No patching is done on Python >= 3.11
SKIPPED [2] tests/test_formatting.py:368: No patching is done on Python >= 3.11
SKIPPED [1] tests/test_formatting.py:417: No patching is done on Python >= 3.11
SKIPPED [1] tests/test_formatting.py:462: No patching is done on Python >= 3.11
SKIPPED [1] tests/test_formatting.py:486: No patching is done on Python >= 3.11
SKIPPED [1] tests/test_formatting.py:511: No patching is done on Python >= 3.11
============================================== 9 failed, 80 passed, 11 skipped in 0.19s ===============================================

How can we reproduce the bug?

pip install . pytest
python3.13 -m pytest
@mgorny mgorny added the bug Something isn't working label May 14, 2024
@mgorny
Copy link
Contributor Author

mgorny commented Jul 13, 2024

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant