Bug 2059967 - python-pytest-xprocess fails to build with pytest 7
Summary: python-pytest-xprocess fails to build with pytest 7
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-pytest-xprocess
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: František Zatloukal
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F37FTBFS PYTEST7
TreeView+ depends on / blocked
 
Reported: 2022-03-02 12:19 UTC by Miro Hrončok
Modified: 2022-05-25 15:12 UTC (History)
2 users (show)

Fixed In Version: python-pytest-xprocess-0.19.0-1.fc37
Clone Of:
Environment:
Last Closed: 2022-05-25 15:12:23 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Miro Hrončok 2022-03-02 12:19:43 UTC
In this copr repo, I have updated pytest to 7.0.1:

https://copr.fedorainfracloud.org/coprs/churchyard/pytest-7/

Based on this PR:

https://src.fedoraproject.org/rpms/pytest/pull-request/25

I'd like to update pytest to 7 in Fedora 37, but python-pytest-xprocess 0.18.1-2 fails to build.

https://copr.fedorainfracloud.org/coprs/churchyard/pytest-7/package/python-pytest-xprocess/

_______________________ test_return_value_on_failure[s1] _______________________

cls = <class '_pytest.runner.CallInfo'>
func = <function call_runtest_hook.<locals>.<lambda> at 0x7f5580a69f30>
when = 'call'
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]":
        """Call func, wrapping the result in a CallInfo.
    
        :param func:
            The function to call. Called without arguments.
        :param when:
            The phase in which the function is called.
        :param reraise:
            Exception or exceptions that shall propagate if raised by the
            function, instead of being wrapped in the CallInfo.
        """
        excinfo = None
        start = timing.time()
        precise_start = timing.perf_counter()
        try:
>           result: Optional[TResult] = func()

/usr/lib/python3.10/site-packages/_pytest/runner.py:340: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3.10/site-packages/_pytest/runner.py:261: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.10/site-packages/pluggy/_hooks.py:265: in __call__
    return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
/usr/lib/python3.10/site-packages/pluggy/_manager.py:80: in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
/usr/lib/python3.10/site-packages/_pytest/unraisableexception.py:88: in pytest_runtest_call
    yield from unraisable_exception_runtest_hook()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    def unraisable_exception_runtest_hook() -> Generator[None, None, None]:
        with catch_unraisable_exception() as cm:
            yield
            if cm.unraisable:
                if cm.unraisable.err_msg is not None:
                    err_msg = cm.unraisable.err_msg
                else:
                    err_msg = "Exception ignored in"
                msg = f"{err_msg}: {cm.unraisable.object!r}\n\n"
                msg += "".join(
                    traceback.format_exception(
                        cm.unraisable.exc_type,
                        cm.unraisable.exc_value,
                        cm.unraisable.exc_traceback,
                    )
                )
>               warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
E               pytest.PytestUnraisableExceptionWarning: Exception ignored in: <function Popen.__del__ at 0x7f5581571990>
E               
E               Traceback (most recent call last):
E                 File "/usr/lib64/python3.10/subprocess.py", line 1067, in __del__
E                   _warn("subprocess %s is still running" % self.pid,
E               ResourceWarning: subprocess 193 is still running

/usr/lib/python3.10/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning
----------------------------- Captured stdout call -----------------------------
/builddir/build/BUILD/pytest-xprocess-0.18.1/.pytest_cache/d/.xprocess/s1$ /usr/bin/python3 /builddir/build/BUILD/pytest-xprocess-0.18.1/tests/server.py 38993
process 's1' started pid=270
0 , % /.%,@%@._%%# #/%/ %

1 , % /.%,@%@._%%# #/%/ %

2 , % /.%,@%@._%%# #/%/ %

3 , % /.%,@%@._%%# #/%/ %

4 , % /.%,@%@._%%# #/%/ %

Ê�æ�pP��çîöē�P��adåráøū

Ê�æ�pP��çîöē�P��adåráøū

Ê�æ�pP��çîöē�P��adåráøū

Ê�æ�pP��çîöē�P��adåráøū

Ê�æ�pP��çîöē�P��adåráøū

started

s1 process startup detected
Error while terminating process timeout must be a positive integer, got -1
=========================== short test summary info ============================
FAILED tests/test_process_termination.py::test_return_value_on_failure[s1] - ...




There are several packages affected by this update, so I'd very much appreciate it if you could fix this failure. Please, check if your upstream hasn't already fixed it and backport the fix if possible. Report this failure to your upstream otherwise. If you need specific help, let me know.

Thanks!

Comment 1 František Zatloukal 2022-05-25 15:12:23 UTC
Fixed by python-pytest-xprocess-0.19.0-1.fc37 .


Note You need to log in before you can comment on or make changes to this bug.