Blame tests/run/cpp_exceptions_nogil.pyx

Packit 562c7a
# mode: run
Packit 562c7a
# tag: cpp, werror
Packit 562c7a
Packit 562c7a
cdef int raise_TypeError() except *:
Packit 562c7a
    raise TypeError("custom")
Packit 562c7a
Packit 562c7a
cdef extern from "cpp_exceptions_nogil_helper.h" nogil:
Packit 562c7a
    cdef void foo "foo"(int i) except +
Packit 562c7a
    cdef void bar "foo"(int i) except +ValueError
Packit 562c7a
    cdef void spam"foo"(int i) except +raise_TypeError
Packit 562c7a
Packit 562c7a
cdef int foo_nogil(int i) nogil except *:
Packit 562c7a
    foo(i)
Packit 562c7a
Packit 562c7a
def test_foo_nogil():
Packit 562c7a
    """
Packit 562c7a
    >>> test_foo_nogil()
Packit 562c7a
    """
Packit 562c7a
    foo_nogil(0)
Packit 562c7a
    with nogil:
Packit 562c7a
        foo_nogil(0)
Packit 562c7a
Packit 562c7a
def test_foo():
Packit 562c7a
    """
Packit 562c7a
    >>> test_foo()
Packit 562c7a
    """
Packit 562c7a
    #
Packit 562c7a
    foo(0)
Packit 562c7a
    foo(0)
Packit 562c7a
    with nogil:
Packit 562c7a
        foo(0)
Packit 562c7a
        foo(0)
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
    finally:
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
    finally:
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(1)
Packit 562c7a
    except:
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
    finally:
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
            foo(0)
Packit 562c7a
    finally:
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
            foo(1)
Packit 562c7a
    except:
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
    finally:
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
        try:
Packit 562c7a
            with nogil:
Packit 562c7a
                foo(1)
Packit 562c7a
        except:
Packit 562c7a
            with nogil:
Packit 562c7a
                foo(1)
Packit 562c7a
        finally:
Packit 562c7a
            with nogil:
Packit 562c7a
                foo(0)
Packit 562c7a
            pass
Packit 562c7a
    except:
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
    finally:
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
        try:
Packit 562c7a
            with nogil:
Packit 562c7a
                foo(1)
Packit 562c7a
        except:
Packit 562c7a
            with nogil:
Packit 562c7a
                foo(1)
Packit 562c7a
        finally:
Packit 562c7a
            with nogil:
Packit 562c7a
                foo(1)
Packit 562c7a
            pass
Packit 562c7a
    except:
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
    finally:
Packit 562c7a
        with nogil:
Packit 562c7a
            foo(0)
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
Packit 562c7a
def test_bar():
Packit 562c7a
    """
Packit 562c7a
    >>> test_bar()
Packit 562c7a
    """
Packit 562c7a
    #
Packit 562c7a
    bar(0)
Packit 562c7a
    bar(0)
Packit 562c7a
    with nogil:
Packit 562c7a
        bar(0)
Packit 562c7a
        bar(0)
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
    finally:
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
    finally:
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(1)
Packit 562c7a
    except ValueError:
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
    finally:
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
            bar(0)
Packit 562c7a
    finally:
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
            bar(1)
Packit 562c7a
    except ValueError:
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
    finally:
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
        try:
Packit 562c7a
            with nogil:
Packit 562c7a
                bar(1)
Packit 562c7a
        except ValueError:
Packit 562c7a
            with nogil:
Packit 562c7a
                bar(1)
Packit 562c7a
        finally:
Packit 562c7a
            with nogil:
Packit 562c7a
                bar(0)
Packit 562c7a
            pass
Packit 562c7a
    except ValueError:
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
    finally:
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
        try:
Packit 562c7a
            with nogil:
Packit 562c7a
                bar(1)
Packit 562c7a
        except ValueError:
Packit 562c7a
            with nogil:
Packit 562c7a
                bar(1)
Packit 562c7a
        finally:
Packit 562c7a
            with nogil:
Packit 562c7a
                bar(1)
Packit 562c7a
            pass
Packit 562c7a
    except ValueError:
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
    finally:
Packit 562c7a
        with nogil:
Packit 562c7a
            bar(0)
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
Packit 562c7a
def test_spam():
Packit 562c7a
    """
Packit 562c7a
    >>> test_spam()
Packit 562c7a
    """
Packit 562c7a
    #
Packit 562c7a
    spam(0)
Packit 562c7a
    spam(0)
Packit 562c7a
    with nogil:
Packit 562c7a
        spam(0)
Packit 562c7a
        spam(0)
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
    finally:
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
    finally:
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(1)
Packit 562c7a
    except TypeError:
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
    finally:
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
            spam(0)
Packit 562c7a
    finally:
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
            spam(1)
Packit 562c7a
    except TypeError:
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
    finally:
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
        try:
Packit 562c7a
            with nogil:
Packit 562c7a
                spam(1)
Packit 562c7a
        except TypeError:
Packit 562c7a
            with nogil:
Packit 562c7a
                spam(1)
Packit 562c7a
        finally:
Packit 562c7a
            with nogil:
Packit 562c7a
                spam(0)
Packit 562c7a
            pass
Packit 562c7a
    except TypeError:
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
    finally:
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
        pass
Packit 562c7a
    #
Packit 562c7a
    try:
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
        try:
Packit 562c7a
            with nogil:
Packit 562c7a
                spam(1)
Packit 562c7a
        except TypeError:
Packit 562c7a
            with nogil:
Packit 562c7a
                spam(1)
Packit 562c7a
        finally:
Packit 562c7a
            with nogil:
Packit 562c7a
                spam(1)
Packit 562c7a
            pass
Packit 562c7a
    except TypeError:
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
    finally:
Packit 562c7a
        with nogil:
Packit 562c7a
            spam(0)
Packit 562c7a
        pass
Packit 562c7a
    #