[pypy-commit] pypy signatures: refactor signature tests
Greg Price
noreply at buildbot.pypy.org
Tue Dec 4 01:21:03 CET 2012
Author: Greg Price <price at mit.edu>
Branch: signatures
Changeset: r59311:65c137eb5b0d
Date: 2012-12-02 16:41 -0800
http://bitbucket.org/pypy/pypy/changeset/65c137eb5b0d/
Log: refactor signature tests
diff --git a/pypy/rlib/test/test_objectmodel.py b/pypy/rlib/test/test_objectmodel.py
--- a/pypy/rlib/test/test_objectmodel.py
+++ b/pypy/rlib/test/test_objectmodel.py
@@ -498,18 +498,20 @@
assert f.foo == 'foo'
assert f(1, 'hello') == 6
+def annotate_at(f):
+ t = TranslationContext()
+ a = t.buildannotator()
+ a.annotate_helper(f, [model.s_ImpossibleValue]*f.func_code.co_argcount)
+ return a, t
+
def getsig(f):
# returns [param1, param2, ..., ret]
- t = TranslationContext()
- a = t.buildannotator()
- g = a.annotate_helper(f, [model.s_ImpossibleValue]*f.func_code.co_argcount)
+ a, t = annotate_at(f)
+ g = graphof(t, f)
return [a.bindings[v] for v in g.startblock.inputargs] + [a.bindings[g.getreturnvar()]]
def check_annotator_fails(caller):
- t = TranslationContext()
- a = t.buildannotator()
- exc = py.test.raises(Exception, a.annotate_helper, caller,
- [model.s_ImpossibleValue]*caller.func_code.co_argcount).value
+ exc = py.test.raises(Exception, annotate_at, caller).value
assert caller.func_name in repr(exc.args)
def test_signature_basic():
@@ -540,9 +542,7 @@
return x
def g():
return f('a')
- t = TranslationContext()
- a = t.buildannotator()
- a.annotate_helper(g, [])
+ a, t = annotate_at(g)
assert a.bindings[graphof(t, f).startblock.inputargs[0]] == model.SomeString()
assert a.bindings[graphof(t, f).getreturnvar()] == model.SomeString()
More information about the pypy-commit
mailing list