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

