test_recompiler.py 文件源码

python
阅读 32 收藏 0 点赞 0 评论 0

项目:SwiftKitten 作者: johncsnyder 项目源码 文件源码
def test_extern_python_bogus_name():
    ffi = FFI()
    ffi.cdef("int abc;")
    lib = verify(ffi, 'test_extern_python_bogus_name', "int abc;")
    def fn():
        pass
    py.test.raises(ffi.error, ffi.def_extern("unknown_name"), fn)
    py.test.raises(ffi.error, ffi.def_extern("abc"), fn)
    assert lib.abc == 0
    e = py.test.raises(ffi.error, ffi.def_extern("abc"), fn)
    assert str(e.value) == ("ffi.def_extern('abc'): no 'extern \"Python\"' "
                            "function with this name")
    e = py.test.raises(ffi.error, ffi.def_extern(), fn)
    assert str(e.value) == ("ffi.def_extern('fn'): no 'extern \"Python\"' "
                            "function with this name")
    #
    py.test.raises(TypeError, ffi.def_extern(42), fn)
    py.test.raises((TypeError, AttributeError), ffi.def_extern(), "foo")
    class X:
        pass
    x = X()
    x.__name__ = x
    py.test.raises(TypeError, ffi.def_extern(), x)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号