[pypy-svn] r49077 - pypy/branch/rewrite-compilation-logic/pypy/translator/c/test
pedronis at codespeak.net
pedronis at codespeak.net
Sun Nov 25 14:40:40 CET 2007
Author: pedronis
Date: Sun Nov 25 14:40:38 2007
New Revision: 49077
Modified:
pypy/branch/rewrite-compilation-logic/pypy/translator/c/test/test_genc.py
Log:
test about the checking of py exception around python capi calls
Modified: pypy/branch/rewrite-compilation-logic/pypy/translator/c/test/test_genc.py
==============================================================================
--- pypy/branch/rewrite-compilation-logic/pypy/translator/c/test/test_genc.py (original)
+++ pypy/branch/rewrite-compilation-logic/pypy/translator/c/test/test_genc.py Sun Nov 25 14:40:38 2007
@@ -10,7 +10,6 @@
from pypy.objspace.flow.model import Block, Link, FunctionGraph
from pypy.tool.udir import udir
from pypy.translator.tool.cbuild import make_module_from_c
-from pypy.translator.tool.cbuild import ExternalCompilationInfo
from pypy.translator.gensupp import uniquemodulename
from pypy.translator.backendopt.all import backend_optimizations
from pypy.translator.interactive import Translation
@@ -62,6 +61,25 @@
py.test.raises(Exception, f1, "world") # check that it's really typed
+def test_py_capi_exc():
+ def f(x):
+ if x:
+ l = None
+ else:
+ l = [2]
+ x = x*2
+ return l[0]
+ t = TranslationContext()
+ t.buildannotator().build_types(f, [int])
+ t.buildrtyper().specialize()
+
+ builder = genc.CExtModuleBuilder(t, f, config=t.config)
+ builder.generate_source()
+ builder.compile()
+ f1 = builder.get_entry_point(isolated=True)
+
+ x = py.test.raises(Exception, f1, "world")
+ assert not isinstance(x.value, EOFError) # EOFError === segfault
def test_rlist():
def f(x):
More information about the Pypy-commit
mailing list