Open
Description
$ python3.14 --version
3.14.0a6
$ python3.14 -m venv _e
$ . _e/bin/activate
(_e) $ pip install tox
(_e) $ tox
[…]
========================================================================================== short test summary info ===========================================================================================
FAILED tests/test_exceptions_formatting.py::test_exception_others[recursion_error] - assert '\nTraceback (most recent call last):\n File "tests/exceptions/source/others/recursion_error.py", line 19, in <module>\n recursive()\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n [Previous line repeated 995 more times]\n File "tests/exceptions/source/others/recursion_error.py", line 14, in recursive\n def recursive():\nRecursionError: maximum recursion depth exceeded\n\nTraceback (most recent call last):\n> File "tests/exceptions/source/others/recursion_error.py", line 19, in <module>\n recursive()\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n [Previous line repeated 995 more times]\n File "tests/exceptions/source/others/recursion_error.py", line 14, in recursive\n def recursive():\nRecursionError: maximum recursion depth exceeded\n\n\x1b[33m\x1b[1mTraceback (most recent call last):\x1b[0m\n File "\x1b[32mtests/exceptions/source/others/\x1b[0m\x1b[32m\x1b[1mrecursion_error.py\x1b[0m", line \x1b[33m19\x1b[0m, in \x1b[35m<module>\x1b[0m\n \x1b[1mrecursive\x1b[0m\x1b[1m(\x1b[0m\x1b[1m)\x1b[0m\n File "\x1b[32mtests/exceptions/source/others/\x1b[0m\x1b[32m\x1b[1mrecursion_error.py\x1b[0m", line \x1b[33m15\x1b[0m, in \x1b[35mrecursive\x1b[0m\n \x1b[1mrecursive\x1b[0m\x1b[1m(\x1b[0m\x1b[1m)\x1b[0m\n File "\x1b[32mtests/exceptions/source/others/\x1b[0m\x1b[32m\x1b[1mrecursion_error.py\x1b[0m", line \x1b[33m15\x1b[0m, in \x1b[35mrecursive\x1b[0m\n \x1b[1mrecursive\x1b[0m\x1b[1m(\x1b[0m\x1b[1m)\x1b[0m\n File "\x1b[32mtests/exceptions/source/others/\x1b[0m\x1b[32m\x1b[1mrecursion_error.py\x1b[0m", line \x1b[33m15\x1b[0m, in \x1b[35mrecursive\x1b[0m\n \x1b[1mrecursive\x1b[0m\x1b[1m(\x1b[0m\x1b[1m)\x1b[0m\n [Previous line repeated 995 more times]\n File "\x1b[32mtests/exceptions/source/others/\x1b[0m\x1b[32m\x1b[1mrecursion_error.py\x1b[0m", line \x1b[33m14\x1b[0m, in \x1b[35mrecursive\x1b[0m\n \x1b[35m\x1b[1mdef\x1b[0m \x1b[1mrecursive\x1b[0m\x1b[1m(\x1b[0m\x1b[1m)\x1b[0m\x1b[1m:\x1b[0m\n\x1b[31m\x1b[1mRecursionError\x1b[0m:\x1b[1m maximum recursion depth exceeded\x1b[0m\n\nTraceback (most recent call last):\n\n File "tests/exceptions/source/others/recursion_error.py", line 19, in <module>\n recursive()\n └ <function recursive at 0xDEADBEEF>\n\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n └ <function recursive at 0xDEADBEEF>\n\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n └ <function recursive at 0xDEADBEEF>\n\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n └ <function recursive at 0xDEADBEEF>\n [Previous line repeated 995 more times]\n\n File "tests/exceptions/source/others/recursion_error.py", line 14, in recursive\n def recursive():\n └ <function recursive at 0xDEADBEEF>\n\nRecursionError: maximum recursion depth exceeded\n/home/ben/src/forks/loguru/.tox/tests/lib/python3.14/site-packages/coverage/pytracer.py:355: CoverageWarning: Trace function changed, data is likely wrong: None != <bound method PyTracer._trace of <PyTracer at 0xDEADBEEF: 984 data points in 19 files>> (trace-changed)\n self.warn(\n' == '\nTraceback (most recent call last):\n File "tests/exceptions/source/others/recursion_error.py", line 19, in <module>\n recursive()\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n [Previous line repeated 996 more times]\nRecursionError: maximum recursion depth exceeded\n\nTraceback (most recent call last):\n> File "tests/exceptions/source/others/recursion_error.py", line 19, in <module>\n recursive()\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n [Previous line repeated 996 more times]\nRecursionError: maximum recursion depth exceeded\n\n\x1b[33m\x1b[1mTraceback (most recent call last):\x1b[0m\n File "\x1b[32mtests/exceptions/source/others/\x1b[0m\x1b[32m\x1b[1mrecursion_error.py\x1b[0m", line \x1b[33m19\x1b[0m, in \x1b[35m<module>\x1b[0m\n \x1b[1mrecursive\x1b[0m\x1b[1m(\x1b[0m\x1b[1m)\x1b[0m\n File "\x1b[32mtests/exceptions/source/others/\x1b[0m\x1b[32m\x1b[1mrecursion_error.py\x1b[0m", line \x1b[33m15\x1b[0m, in \x1b[35mrecursive\x1b[0m\n \x1b[1mrecursive\x1b[0m\x1b[1m(\x1b[0m\x1b[1m)\x1b[0m\n File "\x1b[32mtests/exceptions/source/others/\x1b[0m\x1b[32m\x1b[1mrecursion_error.py\x1b[0m", line \x1b[33m15\x1b[0m, in \x1b[35mrecursive\x1b[0m\n \x1b[1mrecursive\x1b[0m\x1b[1m(\x1b[0m\x1b[1m)\x1b[0m\n File "\x1b[32mtests/exceptions/source/others/\x1b[0m\x1b[32m\x1b[1mrecursion_error.py\x1b[0m", line \x1b[33m15\x1b[0m, in \x1b[35mrecursive\x1b[0m\n \x1b[1mrecursive\x1b[0m\x1b[1m(\x1b[0m\x1b[1m)\x1b[0m\n [Previous line repeated 996 more times]\n\x1b[31m\x1b[1mRecursionError\x1b[0m:\x1b[1m maximum recursion depth exceeded\x1b[0m\n\nTraceback (most recent call last):\n\n File "tests/exceptions/source/others/recursion_error.py", line 19, in <module>\n recursive()\n └ <function recursive at 0xDEADBEEF>\n\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n └ <function recursive at 0xDEADBEEF>\n\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n └ <function recursive at 0xDEADBEEF>\n\n File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive\n recursive()\n └ <function recursive at 0xDEADBEEF>\n [Previous line repeated 996 more times]\n\nRecursionError: maximum recursion depth exceeded\n'
Traceback (most recent call last):
File "tests/exceptions/source/others/recursion_error.py", line 19, in <module>
recursive()
File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive
recursive()
File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive
recursive()
File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive
recursive()
- [Previous line repeated 996 more times]
? ^
+ [Previous line repeated 995 more times]
? ^
+ File "tests/exceptions/source/others/recursion_error.py", line 14, in recursive
+ def recursive():
RecursionError: maximum recursion depth exceeded
Traceback (most recent call last):
> File "tests/exceptions/source/others/recursion_error.py", line 19, in <module>
recursive()
File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive
recursive()
File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive
recursive()
File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive
recursive()
- [Previous line repeated 996 more times]
? ^
+ [Previous line repeated 995 more times]
? ^
+ File "tests/exceptions/source/others/recursion_error.py", line 14, in recursive
+ def recursive():
RecursionError: maximum recursion depth exceeded
Traceback (most recent call last):
File "tests/exceptions/source/others/recursion_error.py", line 19, in <module>
recursive()
File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive
recursive()
File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive
recursive()
File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive
recursive()
- [Previous line repeated 996 more times]
? ^
+ [Previous line repeated 995 more times]
? ^
+ File "tests/exceptions/source/others/recursion_error.py", line 14, in recursive
+ def recursive():
RecursionError: maximum recursion depth exceeded
Traceback (most recent call last):
File "tests/exceptions/source/others/recursion_error.py", line 19, in <module>
recursive()
└ <function recursive at 0xDEADBEEF>
File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive
recursive()
└ <function recursive at 0xDEADBEEF>
File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive
recursive()
└ <function recursive at 0xDEADBEEF>
File "tests/exceptions/source/others/recursion_error.py", line 15, in recursive
recursive()
└ <function recursive at 0xDEADBEEF>
- [Previous line repeated 996 more times]
? ^
+ [Previous line repeated 995 more times]
? ^
+
+ File "tests/exceptions/source/others/recursion_error.py", line 14, in recursive
+ def recursive():
+ └ <function recursive at 0xDEADBEEF>
RecursionError: maximum recursion depth exceeded
+ /home/ben/src/forks/loguru/.tox/tests/lib/python3.14/site-packages/coverage/pytracer.py:355: CoverageWarning: Trace function changed, data is likely wrong: None != <bound method PyTracer._trace of <PyTracer at 0xDEADBEEF: 984 data points in 19 files>> (trace-changed)
+ self.warn(
FAILED tests/test_exceptions_formatting.py::test_exception_modern[type_hints-minimum_python_version0] - assert '\n\x1b[33m\x1b[1mTraceback (most recent call last):\x1b[0m\n\n File "\x1b[32mtests/exceptions/source/modern/\x1b[0m\x1b[32m\x1b[1mtype_hints.py\x1b[0m", line \x1b[33m23\x1b[0m, in \x1b[35m<module>\x1b[0m\n \x1b[1mmain\x1b[0m\x1b[1m(\x1b[0m\x1b[1m)\x1b[0m\n \x1b[36m└ \x1b[0m\x1b[36m\x1b[1m<function main at 0xDEADBEEF>\x1b[0m\n\n File "\x1b[32mtests/exceptions/source/modern/\x1b[0m\x1b[32m\x1b[1mtype_hints.py\x1b[0m", line \x1b[33m19\x1b[0m, in \x1b[35mmain\x1b[0m\n \x1b[1mbar\x1b[0m\x1b[1m:\x1b[0m \x1b[1mName\x1b[0m \x1b[35m\x1b[1m=\x1b[0m \x1b[1mfoo\x1b[0m\x1b[1m(\x1b[0m\x1b[34m\x1b[1m1\x1b[0m\x1b[1m,\x1b[0m \x1b[34m\x1b[1m2\x1b[0m\x1b[1m,\x1b[0m \x1b[34m\x1b[1m3\x1b[0m\x1b[1m)\x1b[0m\n \x1b[36m └ \x1b[0m\x1b[36m\x1b[1m<function foo at 0xDEADBEEF>\x1b[0m\n\n File "\x1b[32mtests/exceptions/source/modern/\x1b[0m\x1b[32m\x1b[1mtype_hints.py\x1b[0m", line \x1b[33m15\x1b[0m, in \x1b[35mfoo\x1b[0m\n \x1b[35m\x1b[1mdef\x1b[0m \x1b[1mfoo\x1b[0m\x1b[1m(\x1b[0m\x1b[1ma\x1b[0m\x1b[1m:\x1b[0m \x1b[1mint\x1b[0m\x1b[1m,\x1b[0m \x1b[1mb\x1b[0m\x1b[1m:\x1b[0m \x1b[1mUnion\x1b[0m\x1b[1m[\x1b[0m\x1b[1mName\x1b[0m\x1b[1m,\x1b[0m \x1b[1mfloat\x1b[0m\x1b[1m]\x1b[0m\x1b[1m,\x1b[0m \x1b[1mc\x1b[0m\x1b[1m:\x1b[0m \x1b[36m"Name"\x1b[0m\x1b[1m)\x1b[0m \x1b[35m\x1b[1m->\x1b[0m \x1b[1mT\x1b[0m\x1b[1m:\x1b[0m \x1b[34m\x1b[1m1\x1b[0m \x1b[35m\x1b[1m/\x1b[0m \x1b[34m\x1b[1m0\x1b[0m\n \x1b[36m │ │ │ │ │ │ └ \x1b[0m\x1b[36m\x1b[1m~T\x1b[0m\n \x1b[36m │ │ │ │ │ └ \x1b[0m\x1b[36m\x1b[1m3\x1b[0m\n \x1b[36m │ │ │ │ └ \x1b[0m\x1b[36m\x1b[1m<class \'str\'>\x1b[0m\n \x1b[36m │ │ │ └ \x1b[0m\x1b[36m\x1b[1m<class \'typing.Union\'>\x1b[0m\n \x1b[36m │ │ └ \x1b[0m\x1b[36m\x1b[1m2\x1b[0m\n \x1b[36m │ └ \x1b[0m\x1b[36m\x1b[1m1\x1b[0m\n \x1b[36m └ \x1b[0m\x1b[36m\x1b[1m<function foo at 0xDEADBEEF>\x1b[0m\n\n\x1b[31m\x1b[1mZeroDivisionError\x1b[0m:\x1b[1m division by zero\x1b[0m\n' == '\n\x1b[33m\x1b[1mTraceback (most recent call last):\x1b[0m\n\n File "\x1b[32mtests/exceptions/source/modern/\x1b[0m\x1b[32m\x1b[1mtype_hints.py\x1b[0m", line \x1b[33m23\x1b[0m, in \x1b[35m<module>\x1b[0m\n \x1b[1mmain\x1b[0m\x1b[1m(\x1b[0m\x1b[1m)\x1b[0m\n \x1b[36m└ \x1b[0m\x1b[36m\x1b[1m<function main at 0xDEADBEEF>\x1b[0m\n\n File "\x1b[32mtests/exceptions/source/modern/\x1b[0m\x1b[32m\x1b[1mtype_hints.py\x1b[0m", line \x1b[33m19\x1b[0m, in \x1b[35mmain\x1b[0m\n \x1b[1mbar\x1b[0m\x1b[1m:\x1b[0m \x1b[1mName\x1b[0m \x1b[35m\x1b[1m=\x1b[0m \x1b[1mfoo\x1b[0m\x1b[1m(\x1b[0m\x1b[34m\x1b[1m1\x1b[0m\x1b[1m,\x1b[0m \x1b[34m\x1b[1m2\x1b[0m\x1b[1m,\x1b[0m \x1b[34m\x1b[1m3\x1b[0m\x1b[1m)\x1b[0m\n \x1b[36m └ \x1b[0m\x1b[36m\x1b[1m<function foo at 0xDEADBEEF>\x1b[0m\n\n File "\x1b[32mtests/exceptions/source/modern/\x1b[0m\x1b[32m\x1b[1mtype_hints.py\x1b[0m", line \x1b[33m15\x1b[0m, in \x1b[35mfoo\x1b[0m\n \x1b[35m\x1b[1mdef\x1b[0m \x1b[1mfoo\x1b[0m\x1b[1m(\x1b[0m\x1b[1ma\x1b[0m\x1b[1m:\x1b[0m \x1b[1mint\x1b[0m\x1b[1m,\x1b[0m \x1b[1mb\x1b[0m\x1b[1m:\x1b[0m \x1b[1mUnion\x1b[0m\x1b[1m[\x1b[0m\x1b[1mName\x1b[0m\x1b[1m,\x1b[0m \x1b[1mfloat\x1b[0m\x1b[1m]\x1b[0m\x1b[1m,\x1b[0m \x1b[1mc\x1b[0m\x1b[1m:\x1b[0m \x1b[36m"Name"\x1b[0m\x1b[1m)\x1b[0m \x1b[35m\x1b[1m->\x1b[0m \x1b[1mT\x1b[0m\x1b[1m:\x1b[0m \x1b[34m\x1b[1m1\x1b[0m \x1b[35m\x1b[1m/\x1b[0m \x1b[34m\x1b[1m0\x1b[0m\n \x1b[36m │ │ │ │ │ │ └ \x1b[0m\x1b[36m\x1b[1m~T\x1b[0m\n \x1b[36m │ │ │ │ │ └ \x1b[0m\x1b[36m\x1b[1m3\x1b[0m\n \x1b[36m │ │ │ │ └ \x1b[0m\x1b[36m\x1b[1m<class \'str\'>\x1b[0m\n \x1b[36m │ │ │ └ \x1b[0m\x1b[36m\x1b[1mtyping.Union\x1b[0m\n \x1b[36m │ │ └ \x1b[0m\x1b[36m\x1b[1m2\x1b[0m\n \x1b[36m │ └ \x1b[0m\x1b[36m\x1b[1m1\x1b[0m\n \x1b[36m └ \x1b[0m\x1b[36m\x1b[1m<function foo at 0xDEADBEEF>\x1b[0m\n\n\x1b[31m\x1b[1mZeroDivisionError\x1b[0m:\x1b[1m division by zero\x1b[0m\n'
Traceback (most recent call last):
File "tests/exceptions/source/modern/type_hints.py", line 23, in <module>
main()
└ <function main at 0xDEADBEEF>
File "tests/exceptions/source/modern/type_hints.py", line 19, in main
bar: Name = foo(1, 2, 3)
└ <function foo at 0xDEADBEEF>
File "tests/exceptions/source/modern/type_hints.py", line 15, in foo
def foo(a: int, b: Union[Name, float], c: "Name") -> T: 1 / 0
│ │ │ │ │ │ └ ~T
│ │ │ │ │ └ 3
│ │ │ │ └ <class 'str'>
- │ │ │ └ typing.Union
+ │ │ │ └ <class 'typing.Union'>
? ++++++++ ++
│ │ └ 2
│ └ 1
└ <function foo at 0xDEADBEEF>
ZeroDivisionError: division by zero
=========================================================================== 2 failed, 1560 passed, 29 skipped in 118.36s (0:01:58) ===========================================================================
tests: exit 1 (119.09 seconds) /home/ben/src/forks/loguru> pytest -vv --cov loguru/ --cov-report= pid=417152
tests: FAIL ✖ in 2 minutes 9 seconds
[…]
The docs
environment also fails:
Traceback
=========
File "/home/ben/src/forks/loguru/.tox/docs/lib/python3.14/site-packages/sphinx/builders/html/__init__.py", line 1228, in handle_page
raise ThemeError(msg) from exc
sphinx.errors.ThemeError: An error happened in rendering the page api.
Reason: SystemError('error return without exception set')
Metadata
Metadata
Assignees
Labels
No labels