Home - Summaries: (main) : (py3.11) : Everything - Nightly builds - Benchmarks - RPython - Builders - About

pypy/module/signal/test/test_signal.py::AppTestSignal::()::test_set_wakeup_fd_invalid

self = <CallInfo when='call' exception: DID NOT RAISE <type 'exceptions.ValueError'>>
func = <function <lambda> at 0x000002587c04e188>, when = 'call'
treat_keyboard_interrupt_as_exception = False

    def __init__(self, func, when, treat_keyboard_interrupt_as_exception=False):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        self.when = when
        self.start = time()
        try:
>           self.result = func()

..\_pytest\runner.py:212: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

>       lambda: ihook(item=item, **kwds),
        when=when,
        treat_keyboard_interrupt_as_exception=item.config.getvalue("usepdb"),
    )

..\_pytest\runner.py:194: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_HookCaller 'pytest_runtest_call'>, args = ()
kwargs = {'item': <AppTestMethod 'test_set_wakeup_fd_invalid'>}
notincall = set([])

    def __call__(self, *args, **kwargs):
        if args:
            raise TypeError("hook calling supports only keyword arguments")
        assert not self.is_historic()
        if self.spec and self.spec.argnames:
            notincall = (
                set(self.spec.argnames) - set(["__multicall__"]) - set(kwargs.keys())
            )
            if notincall:
                warnings.warn(
                    "Argument(s) {} which are declared in the hookspec "
                    "can not be found in this hook call".format(tuple(notincall)),
                    stacklevel=2,
                )
>       return self._hookexec(self, self.get_hookimpls(), kwargs)

..\_pytest\vendored_packages\pluggy\hooks.py:289: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <_pytest.config.PytestPluginManager object at 0x000002587accfd38>
hook = <_HookCaller 'pytest_runtest_call'>
methods = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from 'd:\\pypy_stuff\\buildbot64\\slave\\pypy-c-jit-w...5e7590>>, <HookImpl plugin_name='logging-plugin', plugin=<_pytest.logging.LoggingPlugin object at 0x000002587b66c288>>]
kwargs = {'item': <AppTestMethod 'test_set_wakeup_fd_invalid'>}

    def _hookexec(self, hook, methods, kwargs):
        # called from all hookcaller instances.
        # enable_tracing will set its own wrapping function at self._inner_hookexec
>       return self._inner_hookexec(hook, methods, kwargs)

..\_pytest\vendored_packages\pluggy\manager.py:68: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

hook = <_HookCaller 'pytest_runtest_call'>
methods = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from 'd:\\pypy_stuff\\buildbot64\\slave\\pypy-c-jit-w...5e7590>>, <HookImpl plugin_name='logging-plugin', plugin=<_pytest.logging.LoggingPlugin object at 0x000002587b66c288>>]
kwargs = {'item': <AppTestMethod 'test_set_wakeup_fd_invalid'>}

    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
        methods,
        kwargs,
>       firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
    )

..\_pytest\vendored_packages\pluggy\manager.py:62: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

hook_impls = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from 'd:\\pypy_stuff\\buildbot64\\slave\\pypy-c-jit-w...5e7590>>, <HookImpl plugin_name='logging-plugin', plugin=<_pytest.logging.LoggingPlugin object at 0x000002587b66c288>>]
caller_kwargs = {'item': <AppTestMethod 'test_set_wakeup_fd_invalid'>}
firstresult = False

    def _multicall(hook_impls, caller_kwargs, firstresult=False):
        """Execute a call into multiple python functions/methods and return the
        result(s).
    
        ``caller_kwargs`` comes from _HookCaller.__call__().
        """
        __tracebackhide__ = True
        results = []
        excinfo = None
        try:  # run impl and wrapper setup functions in a loop
            teardowns = []
            try:
                for hook_impl in reversed(hook_impls):
                    try:
                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]
                    except KeyError:
                        for argname in hook_impl.argnames:
                            if argname not in caller_kwargs:
                                raise HookCallError(
                                    "hook call must provide argument %r" % (argname,)
                                )
    
                    if hook_impl.hookwrapper:
                        try:
                            gen = hook_impl.function(*args)
                            next(gen)  # first yield
                            teardowns.append(gen)
                        except StopIteration:
                            _raise_wrapfail(gen, "did not yield")
                    else:
                        res = hook_impl.function(*args)
                        if res is not None:
                            results.append(res)
                            if firstresult:  # halt further impl calls
                                break
            except BaseException:
                excinfo = sys.exc_info()
        finally:
            if firstresult:  # first result hooks return a single value
                outcome = _Result(results[0] if results else None, excinfo)
            else:
                outcome = _Result(results, excinfo)
    
            # run all wrapper post-yield blocks
            for gen in reversed(teardowns):
                try:
                    gen.send(outcome)
                    _raise_wrapfail(gen, "has second yield")
                except StopIteration:
                    pass
    
>           return outcome.get_result()

..\_pytest\vendored_packages\pluggy\callers.py:208: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <pluggy.callers._Result object at 0x000002587d5392f0>

    def get_result(self):
        """Get the result(s) for this hook call.
    
        If the hook was marked as a ``firstresult`` only a single value
        will be returned otherwise a list of results.
        """
        __tracebackhide__ = True
        if self._excinfo is None:
            return self._result
        else:
            ex = self._excinfo
            if _py3:
                raise ex[1].with_traceback(ex[2])
>           _reraise(*ex)  # noqa

..\_pytest\vendored_packages\pluggy\callers.py:81: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

hook_impls = [<HookImpl plugin_name='runner', plugin=<module '_pytest.runner' from 'd:\\pypy_stuff\\buildbot64\\slave\\pypy-c-jit-w...5e7590>>, <HookImpl plugin_name='logging-plugin', plugin=<_pytest.logging.LoggingPlugin object at 0x000002587b66c288>>]
caller_kwargs = {'item': <AppTestMethod 'test_set_wakeup_fd_invalid'>}
firstresult = False

    def _multicall(hook_impls, caller_kwargs, firstresult=False):
        """Execute a call into multiple python functions/methods and return the
        result(s).
    
        ``caller_kwargs`` comes from _HookCaller.__call__().
        """
        __tracebackhide__ = True
        results = []
        excinfo = None
        try:  # run impl and wrapper setup functions in a loop
            teardowns = []
            try:
                for hook_impl in reversed(hook_impls):
                    try:
                        args = [caller_kwargs[argname] for argname in hook_impl.argnames]
                    except KeyError:
                        for argname in hook_impl.argnames:
                            if argname not in caller_kwargs:
                                raise HookCallError(
                                    "hook call must provide argument %r" % (argname,)
                                )
    
                    if hook_impl.hookwrapper:
                        try:
                            gen = hook_impl.function(*args)
                            next(gen)  # first yield
                            teardowns.append(gen)
                        except StopIteration:
                            _raise_wrapfail(gen, "did not yield")
                    else:
>                       res = hook_impl.function(*args)

..\_pytest\vendored_packages\pluggy\callers.py:187: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

item = <AppTestMethod 'test_set_wakeup_fd_invalid'>

    def pytest_runtest_call(item):
        _update_current_test_var(item, "call")
        sys.last_type, sys.last_value, sys.last_traceback = (None, None, None)
        try:
>           item.runtest()

..\_pytest\runner.py:122: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <AppTestMethod 'test_set_wakeup_fd_invalid'>

    def runtest(self):
        target = self.obj
        if self.config.option.runappdirect:
>           return target()

tool\pytest\apptest.py:84: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <pypy.module.signal.test.test_signal.AppTestSignal instance at 0x000002587b730da0>

    def test_set_wakeup_fd_invalid(self):
        import signal
        with open(self.temppath, 'wb') as f:
            fd = f.fileno()
>       raises(ValueError, signal.set_wakeup_fd, fd)

module\signal\test\test_signal.py:227: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

expected_exception = <type 'exceptions.ValueError'>
args = (<built-in function set_wakeup_fd>, 10), kwargs = {}
__tracebackhide__ = True
message = "DID NOT RAISE <type 'exceptions.ValueError'>", match_expr = None
func = <built-in function set_wakeup_fd>

    def raises(expected_exception, *args, **kwargs):
        r"""
        Assert that a code block/function call raises ``expected_exception``
        and raise a failure exception otherwise.
    
        :arg message: if specified, provides a custom failure message if the
            exception is not raised
        :arg match: if specified, asserts that the exception matches a text or regex
    
        This helper produces a ``ExceptionInfo()`` object (see below).
    
        You may use this function as a context manager::
    
            >>> with raises(ZeroDivisionError):
            ...    1/0
    
        .. versionchanged:: 2.10
    
        In the context manager form you may use the keyword argument
        ``message`` to specify a custom failure message::
    
            >>> with raises(ZeroDivisionError, message="Expecting ZeroDivisionError"):
            ...    pass
            Traceback (most recent call last):
              ...
            Failed: Expecting ZeroDivisionError
    
        .. note::
    
           When using ``pytest.raises`` as a context manager, it's worthwhile to
           note that normal context manager rules apply and that the exception
           raised *must* be the final line in the scope of the context manager.
           Lines of code after that, within the scope of the context manager will
           not be executed. For example::
    
               >>> value = 15
               >>> with raises(ValueError) as exc_info:
               ...     if value > 10:
               ...         raise ValueError("value must be <= 10")
               ...     assert exc_info.type == ValueError  # this will not execute
    
           Instead, the following approach must be taken (note the difference in
           scope)::
    
               >>> with raises(ValueError) as exc_info:
               ...     if value > 10:
               ...         raise ValueError("value must be <= 10")
               ...
               >>> assert exc_info.type == ValueError
    
    
        Since version ``3.1`` you can use the keyword argument ``match`` to assert that the
        exception matches a text or regex::
    
            >>> with raises(ValueError, match='must be 0 or None'):
            ...     raise ValueError("value must be 0 or None")
    
            >>> with raises(ValueError, match=r'must be \d+$'):
            ...     raise ValueError("value must be 42")
    
        **Legacy forms**
    
        The forms below are fully supported but are discouraged for new code because the
        context manager form is regarded as more readable and less error-prone.
    
        It is possible to specify a callable by passing a to-be-called lambda::
    
            >>> raises(ZeroDivisionError, lambda: 1/0)
            <ExceptionInfo ...>
    
        or you can specify an arbitrary callable with arguments::
    
            >>> def f(x): return 1/x
            ...
            >>> raises(ZeroDivisionError, f, 0)
            <ExceptionInfo ...>
            >>> raises(ZeroDivisionError, f, x=0)
            <ExceptionInfo ...>
    
        It is also possible to pass a string to be evaluated at runtime::
    
            >>> raises(ZeroDivisionError, "f(0)")
            <ExceptionInfo ...>
    
        The string will be evaluated using the same ``locals()`` and ``globals()``
        at the moment of the ``raises`` call.
    
        .. currentmodule:: _pytest._code
    
        Consult the API of ``excinfo`` objects: :class:`ExceptionInfo`.
    
        .. note::
            Similar to caught exception objects in Python, explicitly clearing
            local references to returned ``ExceptionInfo`` objects can
            help the Python interpreter speed up its garbage collection.
    
            Clearing those references breaks a reference cycle
            (``ExceptionInfo`` --> caught exception --> frame stack raising
            the exception --> current frame stack --> local variables -->
            ``ExceptionInfo``) which makes Python keep all objects referenced
            from that cycle (including all local variables in the current
            frame) alive until the next cyclic garbage collection run. See the
            official Python ``try`` statement documentation for more detailed
            information.
    
        """
        __tracebackhide__ = True
        for exc in filterfalse(isclass, always_iterable(expected_exception, BASE_TYPE)):
            msg = (
                "exceptions must be old-style classes or"
                " derived from BaseException, not %s"
            )
            raise TypeError(msg % type(exc))
    
        message = "DID NOT RAISE {}".format(expected_exception)
        match_expr = None
    
        if not args:
            if "message" in kwargs:
                message = kwargs.pop("message")
            if "match" in kwargs:
                match_expr = kwargs.pop("match")
            if kwargs:
                msg = "Unexpected keyword arguments passed to pytest.raises: "
                msg += ", ".join(kwargs.keys())
                raise TypeError(msg)
            return RaisesContext(expected_exception, message, match_expr)
        elif isinstance(args[0], str):
            code, = args
            assert isinstance(code, str)
            frame = sys._getframe(1)
            loc = frame.f_locals.copy()
            loc.update(kwargs)
            # print "raises frame scope: %r" % frame.f_locals
            try:
                code = _pytest._code.Source(code).compile()
                six.exec_(code, frame.f_globals, loc)
                # XXX didn't mean f_globals == f_locals something special?
                #     this is destroyed here ...
            except expected_exception:
                return _pytest._code.ExceptionInfo()
        else:
            func = args[0]
            try:
                func(*args[1:], **kwargs)
            except expected_exception:
                return _pytest._code.ExceptionInfo()
>       fail(message)

..\_pytest\python_api.py:694: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

msg = "DID NOT RAISE <type 'exceptions.ValueError'>", pytrace = True

    def fail(msg="", pytrace=True):
        """
        Explicitly fail an executing test with the given message.
    
        :param str msg: the message to show the user as reason for the failure.
        :param bool pytrace: if false the msg represents the full failure information and no
            python traceback will be reported.
        """
        __tracebackhide__ = True
>       raise Failed(msg=msg, pytrace=pytrace)
E       Failed: DID NOT RAISE <type 'exceptions.ValueError'>

..\_pytest\outcomes.py:113: Failed
builder: pypy-c-jit-win-x86-64 build #2369+
test: pypy/module/signal/test/test_signal.py::AppTestSignal::()::test_set_wakeup_fd_invalid