Blame tests/run/exceptions_nogil.pyx

Packit 562c7a
cdef void foo(int i) except * with gil:
Packit 562c7a
    if i != 0: raise ValueError
Packit 562c7a
Packit 562c7a
cdef int bar(int i) except? -1 with gil:
Packit 562c7a
    if i != 0: raise ValueError
Packit 562c7a
    return 0
Packit 562c7a
Packit 562c7a
cdef int spam(int i) except? -1 with gil:
Packit 562c7a
    if i != 0: raise TypeError
Packit 562c7a
    return -1
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
    #