Your message dated Thu, 23 Dec 2021 13:33:36 +0000
with message-id <[email protected]>
and subject line Bug#1002437: fixed in python-pytest-xprocess 0.18.1-3
has caused the Debian Bug report #1002437,
regarding python-pytest-xprocess: FTBFS: ERROR 
tests/test_functional_workflow.py::test_functional_work_flow - OSError:...
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1002437: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1002437
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: python-pytest-xprocess
Version: 0.18.1-2
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: [email protected]
Usertags: ftbfs-20211220 ftbfs-bookworm

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> make[1]: pyversions: No such file or directory
> py3versions: no X-Python3-Version in control file, using supported versions
> pkgos-dh_auto_install --no-py2 --in-tmp
> + PKGOS_USE_PY2=yes
> + PKGOS_USE_PY3=yes
> + PKGOS_IN_TMP=no
> + PKGOS_USE_PY2=no
> + shift
> + PKGOS_IN_TMP=yes
> + shift
> + dpkg-parsechangelog -SSource
> + SRC_PKG_NAME=python-pytest-xprocess
> + echo python-pytest-xprocess
> + sed s/python-//
> + PY_MODULE_NAME=pytest-xprocess
> + [ no = yes ]
> + [ yes = yes ]
> + py3versions -vr
> + PYTHON3S=3.10 3.9
> + [ no = yes ]
> + [ yes = yes ]
> + [ yes = yes ]
> + TARGET_DIR=tmp
> + pwd
> + python3.10 setup.py install --install-layout=deb --root 
> /<<PKGBUILDDIR>>/debian/tmp
> running install
> /usr/lib/python3/dist-packages/setuptools/command/install.py:34: 
> SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and 
> pip and other standards-based tools.
>   warnings.warn(
> running build
> running build_py
> creating build
> creating build/lib
> copying pytest_xprocess.py -> build/lib
> copying xprocess.py -> build/lib
> running install_lib
> creating /<<PKGBUILDDIR>>/debian/tmp
> creating /<<PKGBUILDDIR>>/debian/tmp/usr
> creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib
> creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3
> creating /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages
> copying build/lib/pytest_xprocess.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages
> copying build/lib/xprocess.py -> 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pytest_xprocess.py 
> to pytest_xprocess.cpython-310.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/xprocess.py to 
> xprocess.cpython-310.pyc
> running install_egg_info
> running egg_info
> creating pytest_xprocess.egg-info
> writing pytest_xprocess.egg-info/PKG-INFO
> writing dependency_links to pytest_xprocess.egg-info/dependency_links.txt
> writing entry points to pytest_xprocess.egg-info/entry_points.txt
> writing requirements to pytest_xprocess.egg-info/requires.txt
> writing top-level names to pytest_xprocess.egg-info/top_level.txt
> writing manifest file 'pytest_xprocess.egg-info/SOURCES.txt'
> reading manifest file 'pytest_xprocess.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no files found matching 'CHANGELOG'
> warning: no directories found matching 'example'
> adding license file 'LICENSE'
> writing manifest file 'pytest_xprocess.egg-info/SOURCES.txt'
> Copying pytest_xprocess.egg-info to 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pytest_xprocess-0.18.1.egg-info
> Skipping SOURCES.txt
> running install_scripts
> + pwd
> + python3.9 setup.py install --install-layout=deb --root 
> /<<PKGBUILDDIR>>/debian/tmp
> running install
> /usr/lib/python3/dist-packages/setuptools/command/install.py:34: 
> SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and 
> pip and other standards-based tools.
>   warnings.warn(
> running build
> running build_py
> running install_lib
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pytest_xprocess.py 
> to pytest_xprocess.cpython-39.pyc
> byte-compiling 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/xprocess.py to 
> xprocess.cpython-39.pyc
> running install_egg_info
> running egg_info
> writing pytest_xprocess.egg-info/PKG-INFO
> writing dependency_links to pytest_xprocess.egg-info/dependency_links.txt
> writing entry points to pytest_xprocess.egg-info/entry_points.txt
> writing requirements to pytest_xprocess.egg-info/requires.txt
> writing top-level names to pytest_xprocess.egg-info/top_level.txt
> reading manifest file 'pytest_xprocess.egg-info/SOURCES.txt'
> reading manifest template 'MANIFEST.in'
> warning: no files found matching 'CHANGELOG'
> warning: no directories found matching 'example'
> adding license file 'LICENSE'
> writing manifest file 'pytest_xprocess.egg-info/SOURCES.txt'
> removing 
> '/<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pytest_xprocess-0.18.1.egg-info'
>  (and everything under it)
> Copying pytest_xprocess.egg-info to 
> /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages/pytest_xprocess-0.18.1.egg-info
> Skipping SOURCES.txt
> running install_scripts
> + pwd
> + rm -rf /<<PKGBUILDDIR>>/debian/python*/usr/lib/python*/dist-packages/*.pth
> + pwd
> + rm -rf /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python*/dist-packages/*.pth
> + pwd
> + [ -d /<<PKGBUILDDIR>>/debian/python-pytest-xprocess/usr/bin ]
> set -e ; for pyvers in 3.10 3.9; do \
>       PYTHONPATH=/<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages 
> python$pyvers -m pytest -v ; \
> done
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.10.1, pytest-6.2.5, py-1.10.0, pluggy-0.13.0 -- 
> /usr/bin/python3.10
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>, configfile: tox.ini
> plugins: xprocess-0.18.1
> collecting ... collected 45 items
> 
> tests/test_callback.py::test_callback_success[s1] PASSED                 [  
> 2%]
> tests/test_callback.py::test_callback_success[s2] PASSED                 [  
> 4%]
> tests/test_callback.py::test_callback_success[s3] PASSED                 [  
> 6%]
> tests/test_callback.py::test_callback_fail[s1] PASSED                    [  
> 8%]
> tests/test_callback.py::test_callback_fail[s2] PASSED                    [ 
> 11%]
> tests/test_callback.py::test_callback_fail[s3] PASSED                    [ 
> 13%]
> tests/test_functional_workflow.py::test_functional_work_flow ERROR       [ 
> 15%]
> tests/test_interruption_clean_up.py::test_interruption_cleanup ERROR     [ 
> 17%]
> tests/test_interruption_clean_up.py::test_interruption_does_not_cleanup ERROR 
> [ 20%]
> tests/test_process_initialization.py::test_servers_start[s1] PASSED      [ 
> 22%]
> tests/test_process_initialization.py::test_servers_start[s2] PASSED      [ 
> 24%]
> tests/test_process_initialization.py::test_servers_start[s3] PASSED      [ 
> 26%]
> tests/test_process_initialization.py::test_ensure_not_restart[s1] PASSED [ 
> 28%]
> tests/test_process_initialization.py::test_ensure_not_restart[s2] PASSED [ 
> 31%]
> tests/test_process_initialization.py::test_ensure_not_restart[s3] PASSED [ 
> 33%]
> tests/test_process_initialization.py::test_startup_detection_max_read_lines[s1-started-20]
>  PASSED [ 35%]
> tests/test_process_initialization.py::test_startup_detection_max_read_lines[s2-spam,
>  bacon, eggs-30] PASSED [ 37%]
> tests/test_process_initialization.py::test_startup_detection_max_read_lines[s3-finally
>  started-62] PASSED [ 40%]
> tests/test_process_initialization.py::test_runtime_error_on_start_fail[s1] 
> PASSED [ 42%]
> tests/test_process_initialization.py::test_runtime_error_on_start_fail[s2] 
> PASSED [ 44%]
> tests/test_process_initialization.py::test_runtime_error_on_start_fail[s3] 
> PASSED [ 46%]
> tests/test_process_initialization.py::test_popen_kwargs[s1] PASSED       [ 
> 48%]
> tests/test_process_initialization.py::test_popen_kwargs[s2] PASSED       [ 
> 51%]
> tests/test_process_initialization.py::test_popen_kwargs[s3] PASSED       [ 
> 53%]
> tests/test_process_termination.py::test_clean_shutdown[s1] PASSED        [ 
> 55%]
> tests/test_process_termination.py::test_clean_shutdown[s2] PASSED        [ 
> 57%]
> tests/test_process_termination.py::test_clean_shutdown[s3] PASSED        [ 
> 60%]
> tests/test_process_termination.py::test_terminate_no_pid[s1] PASSED      [ 
> 62%]
> tests/test_process_termination.py::test_terminate_no_pid[s2] PASSED      [ 
> 64%]
> tests/test_process_termination.py::test_terminate_no_pid[s3] PASSED      [ 
> 66%]
> tests/test_process_termination.py::test_terminate_only_parent[s1] PASSED [ 
> 68%]
> tests/test_process_termination.py::test_terminate_only_parent[s2] PASSED [ 
> 71%]
> tests/test_process_termination.py::test_terminate_only_parent[s3] PASSED [ 
> 73%]
> tests/test_process_termination.py::test_sigkill_after_failed_sigterm[s1] 
> PASSED [ 75%]
> tests/test_process_termination.py::test_sigkill_after_failed_sigterm[s2] 
> PASSED [ 77%]
> tests/test_process_termination.py::test_sigkill_after_failed_sigterm[s3] 
> PASSED [ 80%]
> tests/test_process_termination.py::test_return_value_on_failure[s1] PASSED [ 
> 82%]
> tests/test_process_termination.py::test_return_value_on_failure[s2] PASSED [ 
> 84%]
> tests/test_process_termination.py::test_return_value_on_failure[s3] PASSED [ 
> 86%]
> tests/test_resource_cleanup.py::test_0 PASSED                            [ 
> 88%]
> tests/test_resource_cleanup.py::test_1 PASSED                            [ 
> 91%]
> tests/test_resource_cleanup.py::test_2 PASSED                            [ 
> 93%]
> tests/test_startup_timeout.py::test_timeout_raise_exception[s1] PASSED   [ 
> 95%]
> tests/test_startup_timeout.py::test_timeout_raise_exception[s2] PASSED   [ 
> 97%]
> tests/test_startup_timeout.py::test_timeout_raise_exception[s3] PASSED   
> [100%]
> 
> ==================================== ERRORS 
> ====================================
> _________________ ERROR at setup of test_functional_work_flow 
> __________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f93f6cbf6d0>
> when = 'setup'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: "Callable[[], TResult]",
>         when: "Literal['collect', 'setup', 'call', 'teardown']",
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:311: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:255: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/hooks.py:286: in __call__
>     return self._hookexec(self, self.get_hookimpls(), kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:92: in _hookexec
>     return self._inner_hookexec(hook, methods, kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:83: in <lambda>
>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
> /usr/lib/python3/dist-packages/_pytest/runner.py:150: in pytest_runtest_setup
>     item.session._setupstate.prepare(item)
> /usr/lib/python3/dist-packages/_pytest/runner.py:452: in prepare
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:449: in prepare
>     col.setup()
> /usr/lib/python3/dist-packages/_pytest/python.py:1647: in setup
>     self._request._fillfixtures()
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:568: in _fillfixtures
>     item.funcargs[argname] = self.getfixturevalue(argname)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:581: in getfixturevalue
>     fixturedef = self._get_active_fixturedef(argname)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:601: in 
> _get_active_fixturedef
>     self._compute_fixture_value(fixturedef)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:687: in 
> _compute_fixture_value
>     fixturedef.execute(request=subrequest)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:1048: in execute
>     fixturedef = request._get_active_fixturedef(argname)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:601: in 
> _get_active_fixturedef
>     self._compute_fixture_value(fixturedef)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:687: in 
> _compute_fixture_value
>     fixturedef.execute(request=subrequest)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:1072: in execute
>     result = hook.pytest_fixture_setup(fixturedef=self, request=request)
> /usr/lib/python3/dist-packages/pluggy/hooks.py:286: in __call__
>     return self._hookexec(self, self.get_hookimpls(), kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:92: in _hookexec
>     return self._inner_hookexec(hook, methods, kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:83: in <lambda>
>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:1126: in 
> pytest_fixture_setup
>     result = call_fixture_func(fixturefunc, request, kwargs)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:932: in call_fixture_func
>     fixture_result = fixturefunc(**kwargs)
> /usr/lib/python3/dist-packages/_pytest/pytester.py:458: in pytester
>     return Pytester(request, tmp_path_factory, _ispytest=True)
> /usr/lib/python3/dist-packages/_pytest/pytester.py:668: in __init__
>     self._path: Path = tmp_path_factory.mktemp(name, numbered=True)
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:91: in mktemp
>     basename = self._ensure_relative_to_basetemp(basename)
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:72: in 
> _ensure_relative_to_basetemp
>     if (self.getbasetemp() / basename).resolve().parent != self.getbasetemp():
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = TempPathFactory(_given_basetemp=None, 
> _trace=<pluggy._tracing.TagTracerSub object at 0x7f93f6e78100>, 
> _basetemp=None)
> 
>     def getbasetemp(self) -> Path:
>         """Return the base temporary directory, creating it if needed."""
>         if self._basetemp is not None:
>             return self._basetemp
>     
>         if self._given_basetemp is not None:
>             basetemp = self._given_basetemp
>             if basetemp.exists():
>                 rm_rf(basetemp)
>             basetemp.mkdir(mode=0o700)
>             basetemp = basetemp.resolve()
>         else:
>             from_env = os.environ.get("PYTEST_DEBUG_TEMPROOT")
>             temproot = Path(from_env or tempfile.gettempdir()).resolve()
>             user = get_user() or "unknown"
>             # use a sub-directory in the temproot to speed-up
>             # make_numbered_dir() call
>             rootdir = temproot.joinpath(f"pytest-of-{user}")
>             rootdir.mkdir(mode=0o700, exist_ok=True)
>             # Because we use exist_ok=True with a predictable name, make sure
>             # we are the owners, to prevent any funny business (on unix, where
>             # temproot is usually shared).
>             # Also, to keep things private, fixup any world-readable temp
>             # rootdir's permissions. Historically 0o755 was used, so we can't
>             # just error out on this, at least for a while.
>             if sys.platform != "win32":
>                 uid = os.getuid()
>                 rootdir_stat = rootdir.stat()
>                 # getuid shouldn't fail, but cpython defines such a case.
>                 # Let's hope for the best.
>                 if uid != -1:
>                     if rootdir_stat.st_uid != uid:
> >                       raise OSError(
>                             f"The temporary directory {rootdir} is not owned 
> by the current user. "
>                             "Fix this and try again."
>                         )
> E                       OSError: The temporary directory 
> /tmp/pytest-of-user42 is not owned by the current user. Fix this and try 
> again.
> 
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:132: OSError
> _________________ ERROR at setup of test_interruption_cleanup 
> __________________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f93f6ac7520>
> when = 'setup'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: "Callable[[], TResult]",
>         when: "Literal['collect', 'setup', 'call', 'teardown']",
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:311: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:255: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/hooks.py:286: in __call__
>     return self._hookexec(self, self.get_hookimpls(), kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:92: in _hookexec
>     return self._inner_hookexec(hook, methods, kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:83: in <lambda>
>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
> /usr/lib/python3/dist-packages/_pytest/runner.py:150: in pytest_runtest_setup
>     item.session._setupstate.prepare(item)
> /usr/lib/python3/dist-packages/_pytest/runner.py:452: in prepare
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:449: in prepare
>     col.setup()
> /usr/lib/python3/dist-packages/_pytest/python.py:1647: in setup
>     self._request._fillfixtures()
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:568: in _fillfixtures
>     item.funcargs[argname] = self.getfixturevalue(argname)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:581: in getfixturevalue
>     fixturedef = self._get_active_fixturedef(argname)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:601: in 
> _get_active_fixturedef
>     self._compute_fixture_value(fixturedef)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:687: in 
> _compute_fixture_value
>     fixturedef.execute(request=subrequest)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:1048: in execute
>     fixturedef = request._get_active_fixturedef(argname)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:601: in 
> _get_active_fixturedef
>     self._compute_fixture_value(fixturedef)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:687: in 
> _compute_fixture_value
>     fixturedef.execute(request=subrequest)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:1072: in execute
>     result = hook.pytest_fixture_setup(fixturedef=self, request=request)
> /usr/lib/python3/dist-packages/pluggy/hooks.py:286: in __call__
>     return self._hookexec(self, self.get_hookimpls(), kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:92: in _hookexec
>     return self._inner_hookexec(hook, methods, kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:83: in <lambda>
>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:1126: in 
> pytest_fixture_setup
>     result = call_fixture_func(fixturefunc, request, kwargs)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:932: in call_fixture_func
>     fixture_result = fixturefunc(**kwargs)
> /usr/lib/python3/dist-packages/_pytest/pytester.py:458: in pytester
>     return Pytester(request, tmp_path_factory, _ispytest=True)
> /usr/lib/python3/dist-packages/_pytest/pytester.py:668: in __init__
>     self._path: Path = tmp_path_factory.mktemp(name, numbered=True)
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:91: in mktemp
>     basename = self._ensure_relative_to_basetemp(basename)
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:72: in 
> _ensure_relative_to_basetemp
>     if (self.getbasetemp() / basename).resolve().parent != self.getbasetemp():
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = TempPathFactory(_given_basetemp=None, 
> _trace=<pluggy._tracing.TagTracerSub object at 0x7f93f6e78100>, 
> _basetemp=None)
> 
>     def getbasetemp(self) -> Path:
>         """Return the base temporary directory, creating it if needed."""
>         if self._basetemp is not None:
>             return self._basetemp
>     
>         if self._given_basetemp is not None:
>             basetemp = self._given_basetemp
>             if basetemp.exists():
>                 rm_rf(basetemp)
>             basetemp.mkdir(mode=0o700)
>             basetemp = basetemp.resolve()
>         else:
>             from_env = os.environ.get("PYTEST_DEBUG_TEMPROOT")
>             temproot = Path(from_env or tempfile.gettempdir()).resolve()
>             user = get_user() or "unknown"
>             # use a sub-directory in the temproot to speed-up
>             # make_numbered_dir() call
>             rootdir = temproot.joinpath(f"pytest-of-{user}")
>             rootdir.mkdir(mode=0o700, exist_ok=True)
>             # Because we use exist_ok=True with a predictable name, make sure
>             # we are the owners, to prevent any funny business (on unix, where
>             # temproot is usually shared).
>             # Also, to keep things private, fixup any world-readable temp
>             # rootdir's permissions. Historically 0o755 was used, so we can't
>             # just error out on this, at least for a while.
>             if sys.platform != "win32":
>                 uid = os.getuid()
>                 rootdir_stat = rootdir.stat()
>                 # getuid shouldn't fail, but cpython defines such a case.
>                 # Let's hope for the best.
>                 if uid != -1:
>                     if rootdir_stat.st_uid != uid:
> >                       raise OSError(
>                             f"The temporary directory {rootdir} is not owned 
> by the current user. "
>                             "Fix this and try again."
>                         )
> E                       OSError: The temporary directory 
> /tmp/pytest-of-user42 is not owned by the current user. Fix this and try 
> again.
> 
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:132: OSError
> _____________ ERROR at setup of test_interruption_does_not_cleanup 
> _____________
> 
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7f93f6ac79a0>
> when = 'setup'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
> 
>     @classmethod
>     def from_call(
>         cls,
>         func: "Callable[[], TResult]",
>         when: "Literal['collect', 'setup', 'call', 'teardown']",
>         reraise: Optional[
>             Union[Type[BaseException], Tuple[Type[BaseException], ...]]
>         ] = None,
>     ) -> "CallInfo[TResult]":
>         excinfo = None
>         start = timing.time()
>         precise_start = timing.perf_counter()
>         try:
> >           result: Optional[TResult] = func()
> 
> /usr/lib/python3/dist-packages/_pytest/runner.py:311: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/runner.py:255: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/hooks.py:286: in __call__
>     return self._hookexec(self, self.get_hookimpls(), kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:92: in _hookexec
>     return self._inner_hookexec(hook, methods, kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:83: in <lambda>
>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
> /usr/lib/python3/dist-packages/_pytest/runner.py:150: in pytest_runtest_setup
>     item.session._setupstate.prepare(item)
> /usr/lib/python3/dist-packages/_pytest/runner.py:452: in prepare
>     raise e
> /usr/lib/python3/dist-packages/_pytest/runner.py:449: in prepare
>     col.setup()
> /usr/lib/python3/dist-packages/_pytest/python.py:1647: in setup
>     self._request._fillfixtures()
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:568: in _fillfixtures
>     item.funcargs[argname] = self.getfixturevalue(argname)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:581: in getfixturevalue
>     fixturedef = self._get_active_fixturedef(argname)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:601: in 
> _get_active_fixturedef
>     self._compute_fixture_value(fixturedef)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:687: in 
> _compute_fixture_value
>     fixturedef.execute(request=subrequest)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:1048: in execute
>     fixturedef = request._get_active_fixturedef(argname)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:601: in 
> _get_active_fixturedef
>     self._compute_fixture_value(fixturedef)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:687: in 
> _compute_fixture_value
>     fixturedef.execute(request=subrequest)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:1072: in execute
>     result = hook.pytest_fixture_setup(fixturedef=self, request=request)
> /usr/lib/python3/dist-packages/pluggy/hooks.py:286: in __call__
>     return self._hookexec(self, self.get_hookimpls(), kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:92: in _hookexec
>     return self._inner_hookexec(hook, methods, kwargs)
> /usr/lib/python3/dist-packages/pluggy/manager.py:83: in <lambda>
>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:1126: in 
> pytest_fixture_setup
>     result = call_fixture_func(fixturefunc, request, kwargs)
> /usr/lib/python3/dist-packages/_pytest/fixtures.py:932: in call_fixture_func
>     fixture_result = fixturefunc(**kwargs)
> /usr/lib/python3/dist-packages/_pytest/pytester.py:458: in pytester
>     return Pytester(request, tmp_path_factory, _ispytest=True)
> /usr/lib/python3/dist-packages/_pytest/pytester.py:668: in __init__
>     self._path: Path = tmp_path_factory.mktemp(name, numbered=True)
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:91: in mktemp
>     basename = self._ensure_relative_to_basetemp(basename)
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:72: in 
> _ensure_relative_to_basetemp
>     if (self.getbasetemp() / basename).resolve().parent != self.getbasetemp():
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = TempPathFactory(_given_basetemp=None, 
> _trace=<pluggy._tracing.TagTracerSub object at 0x7f93f6e78100>, 
> _basetemp=None)
> 
>     def getbasetemp(self) -> Path:
>         """Return the base temporary directory, creating it if needed."""
>         if self._basetemp is not None:
>             return self._basetemp
>     
>         if self._given_basetemp is not None:
>             basetemp = self._given_basetemp
>             if basetemp.exists():
>                 rm_rf(basetemp)
>             basetemp.mkdir(mode=0o700)
>             basetemp = basetemp.resolve()
>         else:
>             from_env = os.environ.get("PYTEST_DEBUG_TEMPROOT")
>             temproot = Path(from_env or tempfile.gettempdir()).resolve()
>             user = get_user() or "unknown"
>             # use a sub-directory in the temproot to speed-up
>             # make_numbered_dir() call
>             rootdir = temproot.joinpath(f"pytest-of-{user}")
>             rootdir.mkdir(mode=0o700, exist_ok=True)
>             # Because we use exist_ok=True with a predictable name, make sure
>             # we are the owners, to prevent any funny business (on unix, where
>             # temproot is usually shared).
>             # Also, to keep things private, fixup any world-readable temp
>             # rootdir's permissions. Historically 0o755 was used, so we can't
>             # just error out on this, at least for a while.
>             if sys.platform != "win32":
>                 uid = os.getuid()
>                 rootdir_stat = rootdir.stat()
>                 # getuid shouldn't fail, but cpython defines such a case.
>                 # Let's hope for the best.
>                 if uid != -1:
>                     if rootdir_stat.st_uid != uid:
> >                       raise OSError(
>                             f"The temporary directory {rootdir} is not owned 
> by the current user. "
>                             "Fix this and try again."
>                         )
> E                       OSError: The temporary directory 
> /tmp/pytest-of-user42 is not owned by the current user. Fix this and try 
> again.
> 
> /usr/lib/python3/dist-packages/_pytest/tmpdir.py:132: OSError
> =========================== short test summary info 
> ============================
> ERROR tests/test_functional_workflow.py::test_functional_work_flow - 
> OSError:...
> ERROR tests/test_interruption_clean_up.py::test_interruption_cleanup - 
> OSErro...
> ERROR tests/test_interruption_clean_up.py::test_interruption_does_not_cleanup
> ======================== 42 passed, 3 errors in 35.73s 
> =========================
> pytest-xprocess reminder::Be sure to terminate the started process by running 
> 'pytest --xkill' if you have not explicitly done so in your fixture with 
> 'xprocess.getinfo(<process_name>).terminate()'.
> make[1]: *** [debian/rules:21: override_dh_auto_install] Error 1


The full build log is available from:
http://qa-logs.debian.net/2021/12/20/python-pytest-xprocess_0.18.1-2_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please marking it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

--- End Message ---
--- Begin Message ---
Source: python-pytest-xprocess
Source-Version: 0.18.1-3
Done: Thomas Goirand <[email protected]>

We believe that the bug you reported is fixed in the latest version of
python-pytest-xprocess, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Thomas Goirand <[email protected]> (supplier of updated python-pytest-xprocess 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Thu, 23 Dec 2021 14:07:44 +0100
Source: python-pytest-xprocess
Architecture: source
Version: 0.18.1-3
Distribution: unstable
Urgency: medium
Maintainer: Debian OpenStack <[email protected]>
Changed-By: Thomas Goirand <[email protected]>
Closes: 1002437
Changes:
 python-pytest-xprocess (0.18.1-3) unstable; urgency=medium
 .
   * Add Rules-Requires-Root: no to avoid fakeroot #1001961 (Closes: #1002437).
Checksums-Sha1:
 3fd0873afdce177fe3b2765192e0c9ce932c1b52 2327 
python-pytest-xprocess_0.18.1-3.dsc
 723a601cbc4941c6b11e53c132ce73d9b2dad561 2604 
python-pytest-xprocess_0.18.1-3.debian.tar.xz
 e8c740ca546d2cbb95f45256edb79a13676b751c 8554 
python-pytest-xprocess_0.18.1-3_amd64.buildinfo
Checksums-Sha256:
 68497a156b44b38715512ffbfaa468015f377d3d172eed160a7358c8b510da28 2327 
python-pytest-xprocess_0.18.1-3.dsc
 272e2567bb02f57c6909ebac82838a4640848e0e408b83561b1fc01351696fc9 2604 
python-pytest-xprocess_0.18.1-3.debian.tar.xz
 abca0ac130694b5e739f06d90fb5d04a823e0113b8127d3cd173f603e2b89196 8554 
python-pytest-xprocess_0.18.1-3_amd64.buildinfo
Files:
 293bc315909d4606ea797bcbe9a26166 2327 python optional 
python-pytest-xprocess_0.18.1-3.dsc
 40b71374569197636a0a41fe9b274f6e 2604 python optional 
python-pytest-xprocess_0.18.1-3.debian.tar.xz
 9e2dc5e32308a607c4950c785ce40bea 8554 python optional 
python-pytest-xprocess_0.18.1-3_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoLGp81CJVhMOekJc1BatFaxrQ/4FAmHEdTUACgkQ1BatFaxr
Q/5JCw/9EZQ0O7lHQw3tdAU51HbeMx0oASQwOKZ1wnUfUdBJJ1KbGHRmKj8XGwM6
szg+IPynioeyDMe1C7lG37e+D5w0eVuYwI5sToj7aKJ/u265qEixmU09ZlpNu7BO
cfrYf0iaPHS6Ikhm7NzkDZnBJaEByM1W7JsBW8R1bt8aYbl/EQv3+Ovx+M+NOdrD
H6XZB7+NrHbFKVX61/vMaKvQI9/gLRJ4eoAxcMHQHPc+HxnMC0i7IxkEK4V8I5fo
qP008D7fCnP1/V4JuSFvNgankTTcHbU310WFbyKFNuVUqde9IwCcpgTWecTKR0Q+
RjZF/RiThzuHKHRB1EaUfEHbrUbv7C1t2YbPGk+J6mAGejHMeLKwG1HTT9fhcj00
dGeofeZaBmxsNFJgskWemWnaItPMQ9GZHRvkG4vB+mD9se784u8t4eJ2WggprY5T
3p7pJrhD31+3DL98wPwYzPfZGp4X+kOUX26gl2itofjhwhuG3yxapQcVm2TaSGgI
XfaQwxNi0uC0ToWTxyRrR2aOxN6LGhdExnHNyLQyvtJqtMwyd2uLhjn/6ndMEBJ2
hsLld3X/Giez92ZKoGwBf76Pl6/9vHONCW5OVJ+5XQCU0TzxWcmX0E0TRGUW4VLx
wfvs31oEp1FuD7FGiBfcwhuJABxB3Mhn1DQlK7XbhbF1Y/Uk8iE=
=GoCj
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to