--- Begin Message ---
Source: python-pyfakefs
Version: 5.6.0-1
Severity: normal
User: [email protected]
Usertags: python3.13
Forwarded: https://github.com/pytest-dev/pyfakefs/issues/1017
This package failed build from source when test-built against a version of
python3-defaults that includes 3.13 as a supported version.
To reproduce this issue, build against python3-defaults (python3-all-dev etc.)
from Debian experimental.
What's new in Python 3.13:
https://docs.python.org/3.13/whatsnew/3.13.html
Log snippet:
dh_auto_test -O--buildsystem=pybuild
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build;
python3.13 -m pytest
============================= test session starts ==============================
platform linux -- Python 3.13.0rc2, pytest-8.3.3, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>
configfile: pyproject.toml
plugins: pyfakefs-5.6.0, typeguard-4.3.0
collected 2583 items
pyfakefs/pytest_tests/pytest_check_failed_plugin_test.py s [ 0%]
pyfakefs/pytest_tests/pytest_fixture_param_test.py X.. [ 0%]
pyfakefs/pytest_tests/pytest_fixture_test.py X... [ 0%]
pyfakefs/pytest_tests/pytest_module_fixture_test.py .Traceback (most recent
call last):
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build/pyfakefs/fake_filesystem.py",
line 1678, in get_object_from_normpath
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build/pyfakefs/fake_file.py",
line 567, in get_entry
KeyError: 'build'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 175,
in main
ret: ExitCode | int = config.hook.pytest_cmdline_main(config=config)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in
_hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in
_multicall
raise exception.with_traceback(exception.__traceback__)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in
_multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 330, in
pytest_cmdline_main
return wrap_session(config, _main)
File "/usr/lib/python3/dist-packages/_pytest/main.py", line 315, in
wrap_session
os.chdir(session.startpath)
~~~~~~~~^^^^^^^^^^^^^^^^^^^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build/pyfakefs/fake_os.py",
line 1426, in wrapped
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build/pyfakefs/fake_os.py",
line 456, in chdir
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build/pyfakefs/fake_filesystem.py",
line 2948, in confirmdir
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build/pyfakefs/fake_filesystem.py",
line 1760, in resolve
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build/pyfakefs/fake_filesystem.py",
line 1689, in get_object_from_normpath
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build/pyfakefs/fake_filesystem.py",
line 430, in raise_os_error
FileNotFoundError: [Errno 2] No such file or directory in the fake filesystem:
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/usr/lib/python3/dist-packages/pytest/__main__.py", line 9, in <module>
raise SystemExit(pytest.console_main())
~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 201,
in console_main
code = main()
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 181,
in main
config._ensure_unconfigure()
~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File "/usr/lib/python3/dist-packages/_pytest/config/__init__.py", line 1123,
in _ensure_unconfigure
self.hook.pytest_unconfigure(config=self)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line 513, in __call__
return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
firstresult)
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line 120, in
_hookexec
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 139, in
_multicall
raise exception.with_traceback(exception.__traceback__)
File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line 103, in
_multicall
res = hook_impl.function(*args)
File "/usr/lib/python3/dist-packages/_pytest/faulthandler.py", line 47, in
pytest_unconfigure
os.close(config.stash[fault_handler_stderr_fd_key])
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build/pyfakefs/fake_os.py",
line 1426, in wrapped
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build/pyfakefs/fake_os.py",
line 326, in close
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build/pyfakefs/fake_filesystem.py",
line 885, in get_open_file
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build/pyfakefs/fake_filesystem.py",
line 907, in get_open_files
File
"/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build/pyfakefs/fake_filesystem.py",
line 430, in raise_os_error
OSError: [Errno 9] Bad file descriptor in the fake filesystem: '9'
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR> File "/usr/lib/python3/dist-packages/_pytest/main.py", line
283, in wrap_session
INTERNALERROR> session.exitstatus = doit(config, session) or 0
INTERNALERROR> ~~~~^^^^^^^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/_pytest/main.py", line
337, in _main
INTERNALERROR> config.hook.pytest_runtestloop(session=session)
INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line
513, in __call__
INTERNALERROR> return self._hookexec(self.name, self._hookimpls.copy(),
kwargs, firstresult)
INTERNALERROR>
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line
120, in _hookexec
INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs,
firstresult)
INTERNALERROR>
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line
139, in _multicall
INTERNALERROR> raise exception.with_traceback(exception.__traceback__)
INTERNALERROR> File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line
122, in _multicall
INTERNALERROR> teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/_pytest/logging.py", line
803, in pytest_runtestloop
INTERNALERROR> return (yield) # Run all the tests.
INTERNALERROR> ^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line
122, in _multicall
INTERNALERROR> teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/_pytest/terminal.py",
line 673, in pytest_runtestloop
INTERNALERROR> result = yield
INTERNALERROR> ^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line
103, in _multicall
INTERNALERROR> res = hook_impl.function(*args)
INTERNALERROR> File "/usr/lib/python3/dist-packages/_pytest/main.py", line
362, in pytest_runtestloop
INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item,
nextitem=nextitem)
INTERNALERROR>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/pluggy/_hooks.py", line
513, in __call__
INTERNALERROR> return self._hookexec(self.name, self._hookimpls.copy(),
kwargs, firstresult)
INTERNALERROR>
~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/pluggy/_manager.py", line
120, in _hookexec
INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs,
firstresult)
INTERNALERROR>
~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line
139, in _multicall
INTERNALERROR> raise exception.with_traceback(exception.__traceback__)
INTERNALERROR> File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line
122, in _multicall
INTERNALERROR> teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/_pytest/warnings.py",
line 112, in pytest_runtest_protocol
INTERNALERROR> return (yield)
INTERNALERROR> ^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line
122, in _multicall
INTERNALERROR> teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> File
"/usr/lib/python3/dist-packages/_pytest/assertion/__init__.py", line 176, in
pytest_runtest_protocol
INTERNALERROR> return (yield)
INTERNALERROR> ^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line
122, in _multicall
INTERNALERROR> teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/_pytest/unittest.py",
line 429, in pytest_runtest_protocol
INTERNALERROR> res = yield
INTERNALERROR> ^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line
122, in _multicall
INTERNALERROR> teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/_pytest/faulthandler.py",
line 88, in pytest_runtest_protocol
INTERNALERROR> return (yield)
INTERNALERROR> ^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/pluggy/_callers.py", line
103, in _multicall
INTERNALERROR> res = hook_impl.function(*args)
INTERNALERROR> File "/usr/lib/python3/dist-packages/_pytest/runner.py", line
112, in pytest_runtest_protocol
INTERNALERROR> ihook.pytest_runtest_logstart(nodeid=item.nodeid,
location=item.location)
INTERNALERROR>
^^^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3.13/functools.py", line 1037, in __get__
INTERNALERROR> val = self.func(instance)
INTERNALERROR> File "/usr/lib/python3/dist-packages/_pytest/nodes.py", line
764, in location
INTERNALERROR> relfspath = self.session._node_location_to_relpath(path)
INTERNALERROR> File "/usr/lib/python3/dist-packages/_pytest/main.py", line
643, in _node_location_to_relpath
INTERNALERROR> return self._bestrelpathcache[node_path]
INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3/dist-packages/_pytest/main.py", line
485, in __missing__
INTERNALERROR> r = bestrelpath(self.path, path)
INTERNALERROR> File "/usr/lib/python3/dist-packages/_pytest/pathlib.py", line
958, in bestrelpath
INTERNALERROR> reldirectory = directory.relative_to(base)
INTERNALERROR> File "/usr/lib/python3.13/pathlib/_local.py", line 385, in
relative_to
INTERNALERROR> raise ValueError(f"{str(self)!r} is not in the subpath of
{str(other)!r}")
INTERNALERROR> ValueError: '/<<PKGBUILDDIR>>' is not in the subpath of
'/<<PKGBUILDDIR>>'
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pyfakefs/build; python3.13 -m pytest
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_pyfakefs/build;
python3.12 -m pytest
============================= test session starts ==============================
platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0
rootdir: /<<PKGBUILDDIR>>
configfile: pyproject.toml
plugins: pyfakefs-5.6.0, typeguard-4.3.0
collected 2583 items
pyfakefs/pytest_tests/pytest_check_failed_plugin_test.py s [ 0%]
pyfakefs/pytest_tests/pytest_fixture_param_test.py X.. [ 0%]
pyfakefs/pytest_tests/pytest_fixture_test.py X... [ 0%]
pyfakefs/pytest_tests/pytest_module_fixture_test.py .. [ 0%]
pyfakefs/pytest_tests/pytest_plugin_test.py ......... [ 0%]
pyfakefs/pytest_tests/pytest_reload_pandas_test.py ss [ 0%]
pyfakefs/tests/dynamic_patch_test.py ..... [ 1%]
pyfakefs/tests/example_test.py .......s [ 1%]
pyfakefs/tests/fake_filesystem_glob_test.py ......... [ 1%]
pyfakefs/tests/fake_filesystem_shutil_test.py ...................s...sss [ 2%]
ssssssssssssssssssssss...........sssssssssss [ 4%]
pyfakefs/tests/fake_filesystem_test.py ................................. [ 5%]
........................................................................ [ 8%]
...............s.........ss............................................. [ 11%]
..s..................................................................... [ 14%]
............................ [ 15%]
pyfakefs/tests/fake_filesystem_unittest_test.py ........................ [ 16%]
....x...............................x..........................s.s..... [ 18%]
pyfakefs/tests/fake_filesystem_vs_real_test.py ......................... [ 19%]
.. [ 19%]
pyfakefs/tests/fake_legacy_modules_test.py .............s....s....s...s. [ 20%]
.ss......................s.s........s................................... [ 23%]
.............sssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 26%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 29%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 32%]
sssssssssssssssssssssssssss [ 33%]
pyfakefs/tests/fake_open_test.py ....................................... [ 34%]
................................ssssssssssssssssssssssssssssssssssssssss [ 37%]
sssssssssssssssssssssssssssssss.........sssssssss..s.ssss..sss.......... [ 40%]
..ssssssssssss..........ssssssssss..s.....ssssssss.....sssss.....sss..ss [ 43%]
.....sssss..................ssssssssssssssssss. [ 44%]
pyfakefs/tests/fake_os_test.py ......................................... [ 46%]
..................................s..................................... [ 49%]
........................................................................ [ 51%]
........................................................................ [ 54%]
........................................ssssssssssssssssssssssssssssssss [ 57%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 60%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 63%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 65%]
sssssssssssssssssssssssssssssssssssssssssssssssss....................... [ 68%]
...............................................................sssssssss [ 71%]
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 74%]
sssss.................s...................................s......sssssss [ 77%]
ssssssssssssssssssssssssssssssssssssssssss...........sssssssssss........ [ 79%]
............ssssssssssssssssssss...................sssssssssssssss...... [ 82%]
.......sssssssssssssss.............sssssssssssssss.............sssssssss [ 85%]
ssssss...................sssssssssssss [ 86%]
pyfakefs/tests/fake_pathlib_test.py ....s.ssssssssssssss..s......sssssss [ 88%]
ss.....s.s........s....sssssssssssssssssssss...s...s..ss................ [ 91%]
.sssssssssssssssssssssssssssss.......................................... [ 93%]
..ssssssssssssssssssssssssssssssssssssssssssss.....s..... [ 96%]
pyfakefs/tests/fake_stat_time_test.py .......sssssss........ssssssss.... [ 97%]
...sssssss........ssssssss.....sssss......ssssss [ 99%]
pyfakefs/tests/fake_tempfile_test.py ........ [ 99%]
pyfakefs/tests/mox3_stubout_test.py ......... [ 99%]
pyfakefs/tests/patched_packages_test.py .. [100%]
=========== 1434 passed, 1145 skipped, 2 xfailed, 2 xpassed in 5.84s ===========
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.13
3.12" returned exit code 13
make: *** [debian/rules:6: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-09-19T06:22:39Z
If required, the full build log is available here (for the next 30 days):
https://debusine.debian.net/artifact/787699/
This bug has been filed at "normal" severity, as we haven't started the
transition to add 3.13 as a supported version, yet. This will be raised to RC
as soon as that happens, hopefully well before trixie.
Thanks,
Stefano
--- End Message ---