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

Test failures with Python 3.11.0b4 #10131

Closed
4 tasks done
hroncok opened this issue Jul 13, 2022 · 3 comments · Fixed by #10132
Closed
4 tasks done

Test failures with Python 3.11.0b4 #10131

hroncok opened this issue Jul 13, 2022 · 3 comments · Fixed by #10132

Comments

@hroncok
Copy link
Member

hroncok commented Jul 13, 2022

  • a detailed description of the bug or problem you are having
  • output of pip list from the virtual environment you are using
  • pytest and operating system versions
  • minimal example if possible

Hello. We have updated Python from 3.11.0b3 to 3.11.0b4 in Fedora Linux 37 and we see some test failures of pytest 7.1.2. I was able to reproduce them from git HEAD @ c2b1d5b.

# on pytest git clone
$ git rev-parse HEAD
c2b1d5b368a1fc829c6c06c700ae2ba9cda55794
$ tox -e py311 -- -k 'test_wrap_session_notify_exception or test_doctest_unexpected_exception'
py311 inst-nodeps: .../pytest/.tox/.tmp/package/1/pytest-7.2.0.dev210+gc2b1d5b36.tar.gz
py311 installed: argcomplete==2.0.0,attrs==21.4.0,certifi==2022.6.15,charset-normalizer==2.1.0,elementpath==2.5.3,hypothesis==6.50.1,idna==3.3,iniconfig==1.1.1,mock==4.0.3,nose==1.3.7,packaging==21.3,pluggy==1.0.0,py==1.11.0,Pygments==2.12.0,pyparsing==3.0.9,pytest @ file://.../pytest/.tox/.tmp/package/1/pytest-7.2.0.dev210%2Bgc2b1d5b36.tar.gz,requests==2.28.1,sortedcontainers==2.4.0,urllib3==1.26.10,xmlschema==1.11.3
py311 run-test-pre: PYTHONHASHSEED='1407110200'
py311 run-test: commands[0] | pytest -k 'test_wrap_session_notify_exception or test_doctest_unexpected_exception'
============================= test session starts ==============================
platform linux -- Python 3.11.0b4, pytest-7.2.0.dev210+gc2b1d5b36, pluggy-1.0.0
cachedir: .tox/py311/.pytest_cache
rootdir: .../pytest, configfile: pyproject.toml, testpaths: testing
plugins: hypothesis-6.50.1
collected 3164 items / 3160 deselected / 4 selected

testing/test_doctest.py F                                                [ 25%]
testing/test_main.py FFF                                                 [100%]

=================================== FAILURES ===================================
________________ TestDoctests.test_doctest_unexpected_exception ________________

self = <test_doctest.TestDoctests object at 0x7f73ca605e50>
pytester = <Pytester PosixPath('/tmp/pytest-of-.../pytest-2/test_doctest_unexpected_exception0')>

    def test_doctest_unexpected_exception(self, pytester: Pytester):
        pytester.maketxtfile(
            """
            >>> i = 0
            >>> 0 / i
            2
        """
        )
        result = pytester.runpytest("--doctest-modules")
>       result.stdout.fnmatch_lines(
            [
                "test_doctest_unexpected_exception.txt F *",
                "",
                "*= FAILURES =*",
                "*_ [[]doctest[]] test_doctest_unexpected_exception.txt _*",
                "001 >>> i = 0",
                "002 >>> 0 / i",
                "UNEXPECTED EXCEPTION: ZeroDivisionError*",
                "Traceback (most recent call last):",
                '  File "*/doctest.py", line *, in __run',
                "    *",
                *((" *^^^^*",) if sys.version_info >= (3, 11) else ()),
                '  File "<doctest test_doctest_unexpected_exception.txt[1]>", line 1, in <module>',
                "ZeroDivisionError: division by zero",
                "*/test_doctest_unexpected_exception.txt:2: UnexpectedException",
            ],
            consecutive=True,
        )
E       Failed: nomatch: 'test_doctest_unexpected_exception.txt F *'
E           and: '============================= test session starts =============================='
E           and: 'platform linux -- Python 3.11.0b4, pytest-7.2.0.dev210+gc2b1d5b36, pluggy-1.0.0'
E           and: 'rootdir: /tmp/pytest-of-.../pytest-2/test_doctest_unexpected_exception0'
E           and: 'collected 1 item'
E           and: ''
E       fnmatch: 'test_doctest_unexpected_exception.txt F *'
E          with: 'test_doctest_unexpected_exception.txt F                                  [100%]'
E       exact match: ''
E       fnmatch: '*= FAILURES =*'
E          with: '=================================== FAILURES ==================================='
E       fnmatch: '*_ [[]doctest[]] test_doctest_unexpected_exception.txt _*'
E          with: '_______________ [doctest] test_doctest_unexpected_exception.txt ________________'
E       exact match: '001 >>> i = 0'
E       exact match: '002 >>> 0 / i'
E       fnmatch: 'UNEXPECTED EXCEPTION: ZeroDivisionError*'
E          with: "UNEXPECTED EXCEPTION: ZeroDivisionError('division by zero')"
E       exact match: 'Traceback (most recent call last):'
E       fnmatch: '  File "*/doctest.py", line *, in __run'
E          with: '  File "/usr/lib64/python3.11/doctest.py", line 1350, in __run'
E       fnmatch: '    *'
E          with: '    exec(compile(example.source, filename, "single",'
E       no consecutive match: ' *^^^^*'
E          with: '  File "<doctest test_doctest_unexpected_exception.txt[1]>", line 1, in <module>'

.../pytest/testing/test_doctest.py:214: Failed
----------------------------- Captured stdout call -----------------------------
============================= test session starts ==============================
platform linux -- Python 3.11.0b4, pytest-7.2.0.dev210+gc2b1d5b36, pluggy-1.0.0
rootdir: /tmp/pytest-of-.../pytest-2/test_doctest_unexpected_exception0
collected 1 item

test_doctest_unexpected_exception.txt F                                  [100%]

=================================== FAILURES ===================================
_______________ [doctest] test_doctest_unexpected_exception.txt ________________
001 >>> i = 0
002 >>> 0 / i
UNEXPECTED EXCEPTION: ZeroDivisionError('division by zero')
Traceback (most recent call last):
  File "/usr/lib64/python3.11/doctest.py", line 1350, in __run
    exec(compile(example.source, filename, "single",
  File "<doctest test_doctest_unexpected_exception.txt[1]>", line 1, in <module>
ZeroDivisionError: division by zero
/tmp/pytest-of-.../pytest-2/test_doctest_unexpected_exception0/test_doctest_unexpected_exception.txt:2: UnexpectedException
=========================== short test summary info ============================
FAILED test_doctest_unexpected_exception.txt::test_doctest_unexpected_exception.txt
============================== 1 failed in 0.00s ===============================
_________________ test_wrap_session_notify_exception[ret_exc0] _________________

ret_exc = (None, <class 'ValueError'>)
pytester = <Pytester PosixPath('/tmp/pytest-of-.../pytest-2/test_wrap_session_notify_exception0')>

    @pytest.mark.parametrize(
        "ret_exc",
        (
            pytest.param((None, ValueError)),
            pytest.param((42, SystemExit)),
            pytest.param((False, SystemExit)),
        ),
    )
    def test_wrap_session_notify_exception(ret_exc, pytester: Pytester) -> None:
        returncode, exc = ret_exc
        c1 = pytester.makeconftest(
            """
            import pytest
    
            def pytest_sessionstart():
                raise {exc}("boom")
    
            def pytest_internalerror(excrepr, excinfo):
                returncode = {returncode!r}
                if returncode is not False:
                    pytest.exit("exiting after %s..." % excinfo.typename, returncode={returncode!r})
        """.format(
                returncode=returncode, exc=exc.__name__
            )
        )
        result = pytester.runpytest()
        if returncode:
            assert result.ret == returncode
        else:
            assert result.ret == ExitCode.INTERNAL_ERROR
        assert result.stdout.lines[0] == "INTERNALERROR> Traceback (most recent call last):"
    
        end_lines = (
            result.stdout.lines[-4:]
            if sys.version_info >= (3, 11)
            else result.stdout.lines[-3:]
        )
    
        if exc == SystemExit:
            assert end_lines == [
                f'INTERNALERROR>   File "{c1}", line 4, in pytest_sessionstart',
                'INTERNALERROR>     raise SystemExit("boom")',
                *(
                    ("INTERNALERROR>     ^^^^^^^^^^^^^^^^^^^^^^^^",)
                    if sys.version_info >= (3, 11)
                    else ()
                ),
                "INTERNALERROR> SystemExit: boom",
            ]
        else:
>           assert end_lines == [
                f'INTERNALERROR>   File "{c1}", line 4, in pytest_sessionstart',
                'INTERNALERROR>     raise ValueError("boom")',
                *(
                    ("INTERNALERROR>     ^^^^^^^^^^^^^^^^^^^^^^^^",)
                    if sys.version_info >= (3, 11)
                    else ()
                ),
                "INTERNALERROR> ValueError: boom",
            ]
E           assert ['INTERNALERR...eError: boom'] == ['INTERNALERR...eError: boom']
E             At index 0 diff: 'INTERNALERROR>           ^^^^^^^^^^^^^^^^^^^^^^^^^' != 'INTERNALERROR>   File "/tmp/pytest-of-.../pytest-2/test_wrap_session_notify_exception0/conftest.py", line 4, in pytest_sessionstart'
E             Use -v to get more diff

.../pytest/testing/test_main.py:66: AssertionError
----------------------------- Captured stdout call -----------------------------
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/_pytest/main.py", line 268, in wrap_session
INTERNALERROR>     config.hook.pytest_sessionstart(session=session)
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__
INTERNALERROR>     return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call
INTERNALERROR>     result = func()
INTERNALERROR>              ^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in <lambda>
INTERNALERROR>     lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)
INTERNALERROR>             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>           ^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/tmp/pytest-of-.../pytest-2/test_wrap_session_notify_exception0/conftest.py", line 4, in pytest_sessionstart
INTERNALERROR>     raise ValueError("boom")
INTERNALERROR> ValueError: boom
----------------------------- Captured stderr call -----------------------------
Exit: exiting after ValueError...
_________________ test_wrap_session_notify_exception[ret_exc1] _________________

ret_exc = (42, <class 'SystemExit'>)
pytester = <Pytester PosixPath('/tmp/pytest-of-.../pytest-2/test_wrap_session_notify_exception1')>

    @pytest.mark.parametrize(
        "ret_exc",
        (
            pytest.param((None, ValueError)),
            pytest.param((42, SystemExit)),
            pytest.param((False, SystemExit)),
        ),
    )
    def test_wrap_session_notify_exception(ret_exc, pytester: Pytester) -> None:
        returncode, exc = ret_exc
        c1 = pytester.makeconftest(
            """
            import pytest
    
            def pytest_sessionstart():
                raise {exc}("boom")
    
            def pytest_internalerror(excrepr, excinfo):
                returncode = {returncode!r}
                if returncode is not False:
                    pytest.exit("exiting after %s..." % excinfo.typename, returncode={returncode!r})
        """.format(
                returncode=returncode, exc=exc.__name__
            )
        )
        result = pytester.runpytest()
        if returncode:
            assert result.ret == returncode
        else:
            assert result.ret == ExitCode.INTERNAL_ERROR
        assert result.stdout.lines[0] == "INTERNALERROR> Traceback (most recent call last):"
    
        end_lines = (
            result.stdout.lines[-4:]
            if sys.version_info >= (3, 11)
            else result.stdout.lines[-3:]
        )
    
        if exc == SystemExit:
>           assert end_lines == [
                f'INTERNALERROR>   File "{c1}", line 4, in pytest_sessionstart',
                'INTERNALERROR>     raise SystemExit("boom")',
                *(
                    ("INTERNALERROR>     ^^^^^^^^^^^^^^^^^^^^^^^^",)
                    if sys.version_info >= (3, 11)
                    else ()
                ),
                "INTERNALERROR> SystemExit: boom",
            ]
E           assert ['INTERNALERR...emExit: boom'] == ['INTERNALERR...emExit: boom']
E             At index 0 diff: 'INTERNALERROR>           ^^^^^^^^^^^^^^^^^^^^^^^^^' != 'INTERNALERROR>   File "/tmp/pytest-of-.../pytest-2/test_wrap_session_notify_exception1/conftest.py", line 4, in pytest_sessionstart'
E             Use -v to get more diff

.../pytest/testing/test_main.py:55: AssertionError
----------------------------- Captured stdout call -----------------------------
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/_pytest/main.py", line 268, in wrap_session
INTERNALERROR>     config.hook.pytest_sessionstart(session=session)
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__
INTERNALERROR>     return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call
INTERNALERROR>     result = func()
INTERNALERROR>              ^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in <lambda>
INTERNALERROR>     lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)
INTERNALERROR>             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>           ^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/tmp/pytest-of-.../pytest-2/test_wrap_session_notify_exception1/conftest.py", line 4, in pytest_sessionstart
INTERNALERROR>     raise SystemExit("boom")
INTERNALERROR> SystemExit: boom
----------------------------- Captured stderr call -----------------------------
Exit: exiting after SystemExit...
_________________ test_wrap_session_notify_exception[ret_exc2] _________________

ret_exc = (False, <class 'SystemExit'>)
pytester = <Pytester PosixPath('/tmp/pytest-of-.../pytest-2/test_wrap_session_notify_exception2')>

    @pytest.mark.parametrize(
        "ret_exc",
        (
            pytest.param((None, ValueError)),
            pytest.param((42, SystemExit)),
            pytest.param((False, SystemExit)),
        ),
    )
    def test_wrap_session_notify_exception(ret_exc, pytester: Pytester) -> None:
        returncode, exc = ret_exc
        c1 = pytester.makeconftest(
            """
            import pytest
    
            def pytest_sessionstart():
                raise {exc}("boom")
    
            def pytest_internalerror(excrepr, excinfo):
                returncode = {returncode!r}
                if returncode is not False:
                    pytest.exit("exiting after %s..." % excinfo.typename, returncode={returncode!r})
        """.format(
                returncode=returncode, exc=exc.__name__
            )
        )
        result = pytester.runpytest()
        if returncode:
            assert result.ret == returncode
        else:
            assert result.ret == ExitCode.INTERNAL_ERROR
        assert result.stdout.lines[0] == "INTERNALERROR> Traceback (most recent call last):"
    
        end_lines = (
            result.stdout.lines[-4:]
            if sys.version_info >= (3, 11)
            else result.stdout.lines[-3:]
        )
    
        if exc == SystemExit:
>           assert end_lines == [
                f'INTERNALERROR>   File "{c1}", line 4, in pytest_sessionstart',
                'INTERNALERROR>     raise SystemExit("boom")',
                *(
                    ("INTERNALERROR>     ^^^^^^^^^^^^^^^^^^^^^^^^",)
                    if sys.version_info >= (3, 11)
                    else ()
                ),
                "INTERNALERROR> SystemExit: boom",
            ]
E           assert ['INTERNALERR...emExit: boom'] == ['INTERNALERR...emExit: boom']
E             At index 0 diff: 'INTERNALERROR>           ^^^^^^^^^^^^^^^^^^^^^^^^^' != 'INTERNALERROR>   File "/tmp/pytest-of-.../pytest-2/test_wrap_session_notify_exception2/conftest.py", line 4, in pytest_sessionstart'
E             Use -v to get more diff

.../pytest/testing/test_main.py:55: AssertionError
----------------------------- Captured stdout call -----------------------------
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/_pytest/main.py", line 268, in wrap_session
INTERNALERROR>     config.hook.pytest_sessionstart(session=session)
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__
INTERNALERROR>     return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call
INTERNALERROR>     result = func()
INTERNALERROR>              ^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in <lambda>
INTERNALERROR>     lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)
INTERNALERROR>             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>            ^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File ".../pytest/.tox/py311/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>           ^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR>   File "/tmp/pytest-of-.../pytest-2/test_wrap_session_notify_exception2/conftest.py", line 4, in pytest_sessionstart
INTERNALERROR>     raise SystemExit("boom")
INTERNALERROR> SystemExit: boom
----------------------------- Captured stderr call -----------------------------
mainloop: caught unexpected SystemExit!
=========================== short test summary info ============================
FAILED testing/test_doctest.py::TestDoctests::test_doctest_unexpected_exception
FAILED testing/test_main.py::test_wrap_session_notify_exception[ret_exc0] - a...
FAILED testing/test_main.py::test_wrap_session_notify_exception[ret_exc1] - a...
FAILED testing/test_main.py::test_wrap_session_notify_exception[ret_exc2] - a...
====================== 4 failed, 3160 deselected in 0.65s ======================
ERROR: InvocationError for command .../pytest/.tox/py311/bin/pytest -k 'test_wrap_session_notify_exception or test_doctest_unexpected_exception' (exited with code 1)
___________________________________ summary ____________________________________
ERROR:   py311: commands failed

$ .tox/py311/bin/pip list
Package            Version
------------------ -----------------------
argcomplete        2.0.0
attrs              21.4.0
certifi            2022.6.15
charset-normalizer 2.1.0
elementpath        2.5.3
hypothesis         6.50.1
idna               3.3
iniconfig          1.1.1
mock               4.0.3
nose               1.3.7
packaging          21.3
pip                21.2.3
pluggy             1.0.0
py                 1.11.0
Pygments           2.12.0
pyparsing          3.0.9
pytest             7.2.0.dev210+gc2b1d5b36
requests           2.28.1
setuptools         57.4.0
sortedcontainers   2.4.0
urllib3            1.26.10
wheel              0.36.2
xmlschema          1.11.3
@hroncok
Copy link
Member Author

hroncok commented Jul 13, 2022

I think the E no consecutive match: ' *^^^^*' is caused by https://mail.python.org/archives/list/[email protected]/thread/QPBESYL43T2ZVWLM7JI4UQD7VEGL3A55/

@hroncok
Copy link
Member Author

hroncok commented Jul 13, 2022

This reduces the doctest failure:

diff --git a/testing/test_doctest.py b/testing/test_doctest.py
index 828253d32..612ac0567 100644
--- a/testing/test_doctest.py
+++ b/testing/test_doctest.py
@@ -223,7 +223,7 @@ class TestDoctests:
                 "Traceback (most recent call last):",
                 '  File "*/doctest.py", line *, in __run',
                 "    *",
-                *((" *^^^^*",) if sys.version_info >= (3, 11) else ()),
+                *((" *^^^^*",) if (3, 11, 0, 'beta', 4) > sys.version_info >= (3, 11) else ()),
                 '  File "<doctest test_doctest_unexpected_exception.txt[1]>", line 1, in <module>',
                 "ZeroDivisionError: division by zero",
                 "*/test_doctest_unexpected_exception.txt:2: UnexpectedException",

(I plan to submit a PR, just talking to myself here before I do.)

@hroncok
Copy link
Member Author

hroncok commented Jul 13, 2022

The other tests are fixable by the same treatment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant