I'm stymied by a pytest-related bug.  I thought it was a bug in a
particular pytest plugin (pytest-order), but it's now shown up in
another pytest plugin as well, so I wonder if either there's a bug in
pytest 8.x or something subtle has changed that requires a
modification to the plugins.  I couldn't see anything obvious on the
pytest changelog page, and the error message itself is mysterious to
me.  The bug does not show with pytest 7.4.4, so it is certainly
related to the new pytest version.

It occurs when running a script from within a test, and the error is
when collecting the tests.  Here is an example, taking from the report
I filed at https://github.com/pytest-dev/pytest-order/issues/110

______________________________ ERROR collecting . ______________________________
/usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
firstresult)
/usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3/dist-packages/_pytest/python.py:211: in 
pytest_collect_directory
    if pkginit.is_file():
/usr/lib/python3.12/pathlib.py:894: in is_file
    return S_ISREG(self.stat().st_mode)
/usr/lib/python3.12/pathlib.py:842: in stat
    return os.stat(self, follow_symlinks=follow_symlinks)
E   PermissionError: [Errno 13] Permission denied: 
'/tmp/systemd-private-2dd08cf217854d6285343c302b696375-systemd-logind.service-qOgrXp/__init__.py'


(That page also has the full autopkgtest log.)  I have no idea why it
is looking at this private systemd directory; it's running under
autopkgtest so HOME should be sane.

Any ideas would be much appreciated, as I would be able to use it to
fix the tests on the other plugin I'm working on as well.

Best wishes,

   Julian

Reply via email to