[pypy-commit] pypy assert-rewrite: more assert fixes
rlamy
pypy.commits at gmail.com
Sun Nov 5 15:50:00 EST 2017
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: assert-rewrite
Changeset: r92951:7318052f560c
Date: 2017-11-05 20:49 +0000
http://bitbucket.org/pypy/pypy/changeset/7318052f560c/
Log: more assert fixes
diff --git a/rpython/jit/metainterp/test/test_ajit.py b/rpython/jit/metainterp/test/test_ajit.py
--- a/rpython/jit/metainterp/test/test_ajit.py
+++ b/rpython/jit/metainterp/test/test_ajit.py
@@ -3,6 +3,7 @@
import py
import weakref
+from rpython.rlib.objectmodel import assert_
from rpython.rlib import rgc
from rpython.jit.codewriter.policy import StopAtXPolicy
from rpython.jit.metainterp import history
@@ -121,7 +122,7 @@
res += ovfcheck(x * x)
y -= 1
except OverflowError:
- assert 0
+ assert_(0)
return res
res = self.meta_interp(f, [6, 7])
assert res == 1323
@@ -157,7 +158,7 @@
try:
res += ovfcheck(x * x) + b
except OverflowError:
- assert 0
+ assert_(0)
y -= 1
return res
res = self.meta_interp(f, [6, 7])
@@ -793,7 +794,7 @@
return llop.int_between(lltype.Bool, arg1, arg2, arg3)
""" % locals()).compile() in loc
res = self.interp_operations(loc['f'], [5, 6, 7])
- assert res == expect_result
+ assert_(res == expect_result)
self.check_operations_history(expect_operations)
#
check('n', 'm', 'p', True, int_sub=2, uint_lt=1)
@@ -997,7 +998,7 @@
while i < 10:
myjitdriver.can_enter_jit(i=i, t=t)
myjitdriver.jit_merge_point(i=i, t=t)
- assert i > 0
+ assert_(i > 0)
t += int_c_div(100, i) - int_c_mod(100, i)
i += 1
return t
@@ -1220,7 +1221,7 @@
# to the backend at all: ZeroDivisionError
#
def f(n):
- assert n >= 0
+ assert_(n >= 0)
try:
return ovfcheck(5 % n)
except ZeroDivisionError:
@@ -1231,7 +1232,7 @@
assert res == -666
#
def f(n):
- assert n >= 0
+ assert_(n >= 0)
try:
return ovfcheck(6 // n)
except ZeroDivisionError:
@@ -1350,7 +1351,7 @@
else:
obj = A()
obj.a = 17
- assert isinstance(obj, B)
+ assert_(isinstance(obj, B))
return obj.a
res = self.interp_operations(fn, [1])
assert res == 1
@@ -1922,8 +1923,8 @@
a2 = f(A(x), y)
b1 = f(B(x), y)
b2 = f(B(x), y)
- assert a1.val == a2.val
- assert b1.val == b2.val
+ assert_(a1.val == a2.val)
+ assert_(b1.val == b2.val)
return a1.val + b1.val
res = self.meta_interp(g, [6, 7])
assert res == 6*8 + 6**8
@@ -1966,8 +1967,8 @@
a2 = f(A(x), y)
b1 = f(B(x), y)
b2 = f(B(x), y)
- assert a1.val == a2.val
- assert b1.val == b2.val
+ assert_(a1.val == a2.val)
+ assert_(b1.val == b2.val)
return a1.val + b1.val
res = self.meta_interp(g, [6, 20])
assert res == g(6, 20)
@@ -2001,16 +2002,16 @@
def g(x, y):
a1 = f(A(x), y, A(x))
a2 = f(A(x), y, A(x))
- assert a1.val == a2.val
+ assert_(a1.val == a2.val)
b1 = f(B(x), y, B(x))
b2 = f(B(x), y, B(x))
- assert b1.val == b2.val
+ assert_(b1.val == b2.val)
c1 = f(B(x), y, A(x))
c2 = f(B(x), y, A(x))
- assert c1.val == c2.val
+ assert_(c1.val == c2.val)
d1 = f(A(x), y, B(x))
d2 = f(A(x), y, B(x))
- assert d1.val == d2.val
+ assert_(d1.val == d2.val)
return a1.val + b1.val + c1.val + d1.val
res = self.meta_interp(g, [3, 14])
assert res == g(3, 14)
@@ -2041,7 +2042,7 @@
def g(x, y):
c1 = f(A(x), y, B(x))
c2 = f(A(x), y, B(x))
- assert c1.val == c2.val
+ assert_(c1.val == c2.val)
return c1.val
res = self.meta_interp(g, [3, 16])
assert res == g(3, 16)
@@ -2068,7 +2069,7 @@
def g(x, y):
a1 = f(A(x), y, A(x))
a2 = f(A(x), y, A(x))
- assert a1.val == a2.val
+ assert_(a1.val == a2.val)
return a1.val
res = self.meta_interp(g, [3, 14])
assert res == g(3, 14)
@@ -2093,7 +2094,7 @@
def g(x, y):
a1 = f(A(x), y)
a2 = f(A(x), y)
- assert a1.val == a2.val
+ assert_(a1.val == a2.val)
return a1.val
res = self.meta_interp(g, [6, 14])
assert res == g(6, 14)
@@ -2120,7 +2121,7 @@
def g(x, y):
a1 = f(A(x), y)
a2 = f(A(x), y)
- assert a1.val == a2.val
+ assert_(a1.val == a2.val)
return a1.val
res = self.meta_interp(g, [6, 14])
assert res == g(6, 14)
@@ -2156,8 +2157,8 @@
a2 = f(A(x), y)
b1 = f(B(x), y)
b2 = f(B(x), y)
- assert a1.val == a2.val
- assert b1.val == b2.val
+ assert_(a1.val == a2.val)
+ assert_(b1.val == b2.val)
return a1.val + b1.val
res = self.meta_interp(g, [3, 23])
assert res == 7068153
@@ -2730,7 +2731,7 @@
try:
sa += ovfcheck(i + i)
except OverflowError:
- assert 0
+ assert_(0)
node1 = A(i)
i += 1
assert self.meta_interp(f, [20, 7]) == f(20, 7)
@@ -2762,7 +2763,7 @@
sa += 1
else:
sa += 2
- assert -100 < i < 100
+ assert_(-100 < i < 100)
i += 1
return sa
assert self.meta_interp(f, [20]) == f(20)
@@ -2783,7 +2784,7 @@
sa += 1
else:
sa += 2
- assert -100 <= node.val <= 100
+ assert_(-100 <= node.val <= 100)
i += 1
return sa
assert self.meta_interp(f, [20]) == f(20)
@@ -3863,13 +3864,13 @@
def f(x):
a = make(x)
if x > 0:
- assert isinstance(a, A)
+ assert_(isinstance(a, A))
z = a.f()
elif x < 0:
- assert isinstance(a, B)
+ assert_(isinstance(a, B))
z = a.f()
else:
- assert isinstance(a, C)
+ assert_(isinstance(a, C))
z = a.f()
return z + a.g()
res1 = f(6)
@@ -4285,7 +4286,7 @@
return x > x or x > x
if cmp == 'ge':
return x >= x and x >= x
- assert 0
+ assert_(0)
return f
def make_str(cmp):
@@ -4295,7 +4296,7 @@
return x is x or x is x
if cmp == 'ne':
return x is not x and x is not x
- assert 0
+ assert_(0)
return f
def make_object(cmp):
@@ -4307,7 +4308,7 @@
return x is x
if cmp == 'ne':
return x is not x
- assert 0
+ assert_(0)
return f
for cmp in 'eq ne lt le gt ge'.split():
diff --git a/rpython/jit/metainterp/test/test_bytearray.py b/rpython/jit/metainterp/test/test_bytearray.py
--- a/rpython/jit/metainterp/test/test_bytearray.py
+++ b/rpython/jit/metainterp/test/test_bytearray.py
@@ -1,13 +1,14 @@
import py
+from rpython.rlib.objectmodel import assert_
from rpython.jit.metainterp.test.support import LLJitMixin
-from rpython.rlib.jit import JitDriver, dont_look_inside
+from rpython.rlib.jit import dont_look_inside
class TestByteArray(LLJitMixin):
def test_getitem(self):
x = bytearray("foobar")
def fn(n):
- assert n >= 0
+ assert_(n >= 0)
return x[n]
res = self.interp_operations(fn, [3])
assert res == ord('b')
@@ -31,7 +32,7 @@
def make_me():
return bytearray("foobar")
def fn(n):
- assert n >= 0
+ assert_(n >= 0)
x = make_me()
x[n] = 3
return x[3] + 1000 * x[4]
diff --git a/rpython/jit/metainterp/test/test_call.py b/rpython/jit/metainterp/test/test_call.py
--- a/rpython/jit/metainterp/test/test_call.py
+++ b/rpython/jit/metainterp/test/test_call.py
@@ -1,4 +1,4 @@
-
+from rpython.rlib.objectmodel import assert_
from rpython.jit.metainterp.test.support import LLJitMixin, noConst
from rpython.rlib import jit
@@ -146,8 +146,8 @@
while n > 0:
myjitdriver.can_enter_jit(n=n, p=p, m=m)
myjitdriver.jit_merge_point(n=n, p=p, m=m)
- assert p > -1
- assert p < 1
+ assert_(p > -1)
+ assert_(p < 1)
n -= jit.conditional_call_elidable(p, externfn, n)
return n
res = self.meta_interp(f, [21, 5, 0])
@@ -165,8 +165,8 @@
while n > 0:
myjitdriver.can_enter_jit(n=n, p=p, m=m)
myjitdriver.jit_merge_point(n=n, p=p, m=m)
- assert p > -1
- assert p < 1
+ assert_(p > -1)
+ assert_(p < 1)
n0 = n
n -= jit.conditional_call_elidable(p, externfn, n0)
n -= jit.conditional_call_elidable(p, externfn, n0)
diff --git a/rpython/jit/metainterp/test/test_del.py b/rpython/jit/metainterp/test/test_del.py
--- a/rpython/jit/metainterp/test/test_del.py
+++ b/rpython/jit/metainterp/test/test_del.py
@@ -1,6 +1,6 @@
import py
from rpython.rlib.jit import JitDriver, dont_look_inside
-from rpython.rlib.objectmodel import keepalive_until_here
+from rpython.rlib.objectmodel import keepalive_until_here, assert_
from rpython.rlib import rgc
from rpython.jit.metainterp.test.support import LLJitMixin
@@ -30,7 +30,7 @@
'jump': 1})
def test_class_of_allocated(self):
- myjitdriver = JitDriver(greens = [], reds = ['n', 'x'])
+ myjitdriver = JitDriver(greens=[], reds=['n', 'x'])
class Foo:
def __del__(self):
pass
@@ -49,16 +49,15 @@
myjitdriver.jit_merge_point(x=x, n=n)
x = X()
y = Y()
- assert x.f() == 456
- assert y.f() == 123
+ assert_(x.f() == 456)
+ assert_(y.f() == 123)
n -= 1
return 42
res = self.meta_interp(f, [20])
assert res == 42
def test_instantiate_with_or_without_del(self):
- import gc
- mydriver = JitDriver(reds = ['n', 'x'], greens = [])
+ mydriver = JitDriver(reds=['n', 'x'], greens=[])
class Base: pass
class A(Base): foo = 72
class B(Base):
diff --git a/rpython/jit/metainterp/test/test_dict.py b/rpython/jit/metainterp/test/test_dict.py
--- a/rpython/jit/metainterp/test/test_dict.py
+++ b/rpython/jit/metainterp/test/test_dict.py
@@ -1,8 +1,8 @@
+from collections import OrderedDict
import py
+from rpython.rlib.objectmodel import assert_, r_dict, compute_hash
from rpython.jit.metainterp.test.support import LLJitMixin
from rpython.rlib.jit import JitDriver
-from rpython.rlib import objectmodel
-from collections import OrderedDict
class DictTests:
@staticmethod
@@ -104,7 +104,7 @@
return (x & 1) == (y & 1)
def f(n):
- dct = objectmodel.r_dict(eq, key)
+ dct = r_dict(eq, key)
total = n
while total:
myjitdriver.jit_merge_point(total=total, dct=dct)
@@ -145,7 +145,7 @@
return (x & 1) == (y & 1)
def f(n):
- dct = objectmodel.r_dict(eq, key)
+ dct = r_dict(eq, key)
total = n
while total:
myjitdriver.jit_merge_point(total=total, dct=dct)
@@ -169,13 +169,13 @@
def eq_func(a, b):
return a.value == b.value
def hash_func(x):
- return objectmodel.compute_hash(x.value)
+ return compute_hash(x.value)
def f(n):
d = None
while n > 0:
myjitdriver.jit_merge_point(n=n, d=d)
- d = objectmodel.r_dict(eq_func, hash_func)
+ d = r_dict(eq_func, hash_func)
y = Wrapper(str(n))
d[y] = n - 1
n = d[y]
@@ -331,7 +331,7 @@
return (x % 2) == (y % 2)
def f(n):
- dct = objectmodel.r_dict(eq, key)
+ dct = r_dict(eq, key)
total = n
x = 44444
y = 55555
@@ -398,7 +398,7 @@
d[2] = 6
d[1] = 4
lst = d.items()
- assert len(lst) == 4
+ assert_(len(lst) == 4)
return ( lst[0][0] + 10*lst[0][1] +
100*lst[1][0] + 1000*lst[1][1] +
10000*lst[3][0] + 100000*lst[2][1] +
diff --git a/rpython/jit/metainterp/test/test_exception.py b/rpython/jit/metainterp/test/test_exception.py
--- a/rpython/jit/metainterp/test/test_exception.py
+++ b/rpython/jit/metainterp/test/test_exception.py
@@ -2,7 +2,7 @@
from rpython.jit.metainterp.test.support import LLJitMixin
from rpython.rlib.jit import JitDriver, dont_look_inside
from rpython.rlib.rarithmetic import ovfcheck, LONG_BIT, intmask
-from rpython.rlib.objectmodel import keepalive_until_here
+from rpython.rlib.objectmodel import keepalive_until_here, assert_
from rpython.jit.codewriter.policy import StopAtXPolicy
from rpython.rtyper.lltypesystem import lltype, rffi
@@ -633,11 +633,11 @@
try:
rescall(i)
except KeyError:
- assert i < 10
+ assert_(i < 10)
except ValueError:
- assert i >= 20
+ assert_(i >= 20)
else:
- assert 10 <= i < 20
+ assert_(10 <= i < 20)
i += 1
return i
res = self.meta_interp(f, [0], inline=True)
diff --git a/rpython/jit/metainterp/test/test_fficall.py b/rpython/jit/metainterp/test/test_fficall.py
--- a/rpython/jit/metainterp/test/test_fficall.py
+++ b/rpython/jit/metainterp/test/test_fficall.py
@@ -6,6 +6,7 @@
from rpython.rtyper.annlowlevel import llhelper
from rpython.jit.metainterp.test.support import LLJitMixin
from rpython.jit.codewriter.longlong import is_longlong, is_64_bit
+from rpython.rlib.objectmodel import assert_
from rpython.rlib import jit
from rpython.rlib import jit_libffi
from rpython.rlib.jit_libffi import (types, CIF_DESCRIPTION, FFI_TYPE_PP,
@@ -31,11 +32,11 @@
Context manager to monkey patch jit_libffi with our custom "libffi-like"
function
"""
-
+
def __init__(self, fake_call_impl_any):
self.fake_call_impl_any = fake_call_impl_any
self.monkey = monkeypatch()
-
+
def __enter__(self, *args):
self.monkey.setattr(jit_libffi, 'jit_ffi_call_impl_any', self.fake_call_impl_any)
@@ -61,7 +62,7 @@
if (lltype.typeOf(exp_a) == rffi.ULONG and
lltype.typeOf(a) == lltype.Signed):
a = rffi.cast(rffi.ULONG, a)
- assert a == exp_a
+ assert_(a == exp_a)
return rvalue
FUNC = lltype.FuncType([lltype.typeOf(avalue) for avalue in avalues],
lltype.typeOf(rvalue))
@@ -88,7 +89,7 @@
lltype.typeOf(avalue) is rffi.UCHAR):
got = intmask(got)
avalue = intmask(avalue)
- assert got == avalue
+ assert_(got == avalue)
ofs += 16
write_to_ofs = 0
if rvalue is not None:
@@ -312,7 +313,7 @@
# call_release_gil was simply lost and when guard_not_forced
# failed, and the value of "res" was unpredictable.
# See commit b84ff38f34bd and subsequents.
- assert res == n*2
+ assert_(res == n*2)
jit.virtual_ref_finish(vref, xy)
exctx.topframeref = jit.vref_None
n += 1
@@ -322,7 +323,7 @@
assert f() == 100
res = self.meta_interp(f, [])
assert res == 100
-
+
class TestFfiCall(FfiCallTests, LLJitMixin):
def test_jit_ffi_vref(self):
@@ -349,7 +350,7 @@
#
jit_ffi_prep_cif(cd)
#
- assert rffi.sizeof(rffi.DOUBLE) == 8
+ assert_(rffi.sizeof(rffi.DOUBLE) == 8)
exb = lltype.malloc(rffi.DOUBLEP.TO, 8, flavor='raw')
exb[2] = 1.23
jit_ffi_call(cd, math_sin, rffi.cast(rffi.CCHARP, exb))
diff --git a/rpython/jit/metainterp/test/test_jitiface.py b/rpython/jit/metainterp/test/test_jitiface.py
--- a/rpython/jit/metainterp/test/test_jitiface.py
+++ b/rpython/jit/metainterp/test/test_jitiface.py
@@ -1,19 +1,18 @@
-import py
-from rpython.rlib.jit import JitDriver, JitHookInterface, Counters, dont_look_inside
+from rpython.rlib.objectmodel import assert_
+from rpython.rlib.jit import (
+ JitDriver, JitHookInterface, Counters, dont_look_inside)
from rpython.rlib import jit_hooks
from rpython.jit.metainterp.test.support import LLJitMixin
from rpython.jit.codewriter.policy import JitPolicy
-from rpython.jit.metainterp.resoperation import rop
-from rpython.rtyper.annlowlevel import hlstr, cast_instance_to_gcref
+from rpython.rtyper.annlowlevel import cast_instance_to_gcref
from rpython.jit.metainterp.jitprof import Profiler, EmptyProfiler
-from rpython.jit.codewriter.policy import JitPolicy
class JitHookInterfaceTests(object):
# !!!note!!! - don't subclass this from the backend. Subclass the LL
# class later instead
-
+
def test_abort_quasi_immut(self):
reasons = []
@@ -71,7 +70,7 @@
iface = MyJitIface()
- driver = JitDriver(greens = ['n', 'm'], reds = ['i'])
+ driver = JitDriver(greens=['n', 'm'], reds=['i'])
def loop(n, m):
i = 0
@@ -94,7 +93,7 @@
def test_on_compile_bridge(self):
called = []
-
+
class MyJitIface(JitHookInterface):
def after_compile(self, di):
called.append("compile")
@@ -104,8 +103,8 @@
def before_compile_bridge(self, di):
called.append("before_compile_bridge")
-
- driver = JitDriver(greens = ['n', 'm'], reds = ['i'])
+
+ driver = JitDriver(greens=['n', 'm'], reds=['i'])
def loop(n, m):
i = 0
@@ -120,7 +119,7 @@
assert called == ["compile", "before_compile_bridge", "compile_bridge"]
def test_get_stats(self):
- driver = JitDriver(greens = [], reds = ['i', 's'])
+ driver = JitDriver(greens=[], reds=['i', 's'])
def loop(i):
s = 0
@@ -134,31 +133,33 @@
def main():
loop(30)
- assert jit_hooks.stats_get_counter_value(None,
- Counters.TOTAL_COMPILED_LOOPS) == 1
- assert jit_hooks.stats_get_counter_value(None,
- Counters.TOTAL_COMPILED_BRIDGES) == 1
- assert jit_hooks.stats_get_counter_value(None,
- Counters.TRACING) == 2
- assert jit_hooks.stats_get_times_value(None, Counters.TRACING) >= 0
+ assert_(jit_hooks.stats_get_counter_value(
+ None, Counters.TOTAL_COMPILED_LOOPS) == 1)
+ assert_(jit_hooks.stats_get_counter_value(
+ None, Counters.TOTAL_COMPILED_BRIDGES) == 1)
+ assert_(jit_hooks.stats_get_counter_value(
+ None, Counters.TRACING) == 2)
+ assert_(jit_hooks.stats_get_times_value(
+ None, Counters.TRACING) >= 0)
self.meta_interp(main, [], ProfilerClass=Profiler)
def test_get_stats_empty(self):
- driver = JitDriver(greens = [], reds = ['i'])
+ driver = JitDriver(greens=[], reds=['i'])
def loop(i):
while i > 0:
driver.jit_merge_point(i=i)
i -= 1
def main():
loop(30)
- assert jit_hooks.stats_get_counter_value(None,
- Counters.TOTAL_COMPILED_LOOPS) == 0
- assert jit_hooks.stats_get_times_value(None, Counters.TRACING) == 0
+ assert_(jit_hooks.stats_get_counter_value(
+ None, Counters.TOTAL_COMPILED_LOOPS) == 0)
+ assert_(jit_hooks.stats_get_times_value(
+ None, Counters.TRACING) == 0)
self.meta_interp(main, [], ProfilerClass=EmptyProfiler)
def test_get_jitcell_at_key(self):
- driver = JitDriver(greens = ['s'], reds = ['i'], name='jit')
+ driver = JitDriver(greens=['s'], reds=['i'], name='jit')
def loop(i, s):
while i > s:
@@ -167,17 +168,17 @@
def main(s):
loop(30, s)
- assert jit_hooks.get_jitcell_at_key("jit", s)
- assert not jit_hooks.get_jitcell_at_key("jit", s + 1)
+ assert_(jit_hooks.get_jitcell_at_key("jit", s))
+ assert_(not jit_hooks.get_jitcell_at_key("jit", s + 1))
jit_hooks.trace_next_iteration("jit", s + 1)
loop(s + 3, s + 1)
- assert jit_hooks.get_jitcell_at_key("jit", s + 1)
+ assert_(jit_hooks.get_jitcell_at_key("jit", s + 1))
self.meta_interp(main, [5])
self.check_jitcell_token_count(2)
def test_get_jitcell_at_key_ptr(self):
- driver = JitDriver(greens = ['s'], reds = ['i'], name='jit')
+ driver = JitDriver(greens=['s'], reds=['i'], name='jit')
class Green(object):
pass
@@ -193,17 +194,17 @@
g1_ptr = cast_instance_to_gcref(g1)
g2_ptr = cast_instance_to_gcref(g2)
loop(10, g1)
- assert jit_hooks.get_jitcell_at_key("jit", g1_ptr)
- assert not jit_hooks.get_jitcell_at_key("jit", g2_ptr)
+ assert_(jit_hooks.get_jitcell_at_key("jit", g1_ptr))
+ assert_(not jit_hooks.get_jitcell_at_key("jit", g2_ptr))
jit_hooks.trace_next_iteration("jit", g2_ptr)
loop(2, g2)
- assert jit_hooks.get_jitcell_at_key("jit", g2_ptr)
+ assert_(jit_hooks.get_jitcell_at_key("jit", g2_ptr))
self.meta_interp(main, [5])
self.check_jitcell_token_count(2)
def test_dont_trace_here(self):
- driver = JitDriver(greens = ['s'], reds = ['i', 'k'], name='jit')
+ driver = JitDriver(greens=['s'], reds=['i', 'k'], name='jit')
def loop(i, s):
k = 4
@@ -228,10 +229,10 @@
self.check_resops(call_assembler_n=8)
def test_trace_next_iteration_hash(self):
- driver = JitDriver(greens = ['s'], reds = ['i'], name="name")
+ driver = JitDriver(greens=['s'], reds=['i'], name="name")
class Hashes(object):
check = False
-
+
def __init__(self):
self.l = []
self.t = []
@@ -281,9 +282,9 @@
class LLJitHookInterfaceTests(JitHookInterfaceTests):
# use this for any backend, instead of the super class
-
+
def test_ll_get_stats(self):
- driver = JitDriver(greens = [], reds = ['i', 's'])
+ driver = JitDriver(greens=[], reds=['i', 's'])
def loop(i):
s = 0
@@ -292,7 +293,7 @@
if i % 2:
s += 1
i -= 1
- s+= 2
+ s += 2
return s
def main(b):
@@ -300,27 +301,27 @@
loop(30)
l = jit_hooks.stats_get_loop_run_times(None)
if b:
- assert len(l) == 4
+ assert_(len(l) == 4)
# completely specific test that would fail each time
# we change anything major. for now it's 4
# (loop, bridge, 2 entry points)
- assert l[0].type == 'e'
- assert l[0].number == 0
- assert l[0].counter == 4
- assert l[1].type == 'l'
- assert l[1].counter == 4
- assert l[2].type == 'l'
- assert l[2].counter == 23
- assert l[3].type == 'b'
- assert l[3].number == 4
- assert l[3].counter == 11
+ assert_(l[0].type == 'e')
+ assert_(l[0].number == 0)
+ assert_(l[0].counter == 4)
+ assert_(l[1].type == 'l')
+ assert_(l[1].counter == 4)
+ assert_(l[2].type == 'l')
+ assert_(l[2].counter == 23)
+ assert_(l[3].type == 'b')
+ assert_(l[3].number == 4)
+ assert_(l[3].counter == 11)
else:
- assert len(l) == 0
+ assert_(len(l) == 0)
self.meta_interp(main, [True], ProfilerClass=Profiler)
# this so far does not work because of the way setup_once is done,
# but fine, it's only about untranslated version anyway
#self.meta_interp(main, [False], ProfilerClass=Profiler)
-
+
class TestJitHookInterface(JitHookInterfaceTests, LLJitMixin):
pass
diff --git a/rpython/jit/metainterp/test/test_loop.py b/rpython/jit/metainterp/test/test_loop.py
--- a/rpython/jit/metainterp/test/test_loop.py
+++ b/rpython/jit/metainterp/test/test_loop.py
@@ -1,19 +1,20 @@
import py
-from rpython.rlib.jit import JitDriver, hint, set_param, dont_look_inside,\
- elidable
-from rpython.rlib.objectmodel import compute_hash
+from rpython.rlib.jit import (
+ JitDriver, set_param, dont_look_inside, elidable)
+from rpython.rlib.objectmodel import compute_hash, assert_
+from rpython.rlib.rerased import new_erasing_pair
+from rpython.rtyper.lltypesystem import lltype
+
from rpython.jit.metainterp.warmspot import ll_meta_interp, get_stats
from rpython.jit.metainterp.test.support import LLJitMixin
from rpython.jit.codewriter.policy import StopAtXPolicy
-from rpython.jit.metainterp.resoperation import rop
-from rpython.jit.metainterp import history
class LoopTest(object):
enable_opts = ''
automatic_promotion_result = {
- 'int_add' : 6, 'int_gt' : 1, 'guard_false' : 1, 'jump' : 1,
- 'guard_value' : 3
+ 'int_add': 6, 'int_gt': 1, 'guard_false': 1, 'jump': 1,
+ 'guard_value': 3
}
def meta_interp(self, f, args, policy=None, backendopt=False):
@@ -26,7 +27,8 @@
return f(*args)
def test_simple_loop(self):
- myjitdriver = JitDriver(greens = [], reds = ['x', 'y', 'res'])
+ myjitdriver = JitDriver(greens=[], reds=['x', 'y', 'res'])
+
def f(x, y):
res = 0
while y > 0:
@@ -40,7 +42,8 @@
self.check_trace_count(1)
def test_loop_with_delayed_setfield(self):
- myjitdriver = JitDriver(greens = [], reds = ['x', 'y', 'res', 'a'])
+ myjitdriver = JitDriver(greens=[], reds=['x', 'y', 'res', 'a'])
+
class A(object):
def __init__(self):
self.x = 3
@@ -67,7 +70,7 @@
def test_loop_with_two_paths(self):
from rpython.rtyper.lltypesystem import lltype
from rpython.rtyper.lltypesystem.lloperation import llop
- myjitdriver = JitDriver(greens = [], reds = ['x', 'y', 'res'])
+ myjitdriver = JitDriver(greens=[], reds=['x', 'y', 'res'])
def l(y, x, t):
llop.debug_print(lltype.Void, y, x, t)
@@ -96,7 +99,7 @@
self.check_trace_count(2)
def test_alternating_loops(self):
- myjitdriver = JitDriver(greens = [], reds = ['pattern'])
+ myjitdriver = JitDriver(greens=[], reds=['pattern'])
def f(pattern):
while pattern > 0:
myjitdriver.can_enter_jit(pattern=pattern)
@@ -114,7 +117,7 @@
self.check_trace_count(2)
def test_interp_simple(self):
- myjitdriver = JitDriver(greens = ['i'], reds = ['x', 'y'])
+ myjitdriver = JitDriver(greens=['i'], reds=['x', 'y'])
bytecode = "bedca"
def f(x, y):
i = 0
@@ -139,7 +142,7 @@
self.check_trace_count(0)
def test_green_prevents_loop(self):
- myjitdriver = JitDriver(greens = ['i'], reds = ['x', 'y'])
+ myjitdriver = JitDriver(greens=['i'], reds=['x', 'y'])
bytecode = "+--+++++----"
def f(x, y):
i = 0
@@ -158,7 +161,7 @@
self.check_trace_count(0)
def test_interp_single_loop(self):
- myjitdriver = JitDriver(greens = ['i'], reds = ['x', 'y'])
+ myjitdriver = JitDriver(greens=['i'], reds=['x', 'y'])
bytecode = "abcd"
def f(x, y):
i = 0
@@ -201,7 +204,7 @@
assert found == 1
def test_interp_many_paths(self):
- myjitdriver = JitDriver(greens = ['i'], reds = ['x', 'node'])
+ myjitdriver = JitDriver(greens=['i'], reds=['x', 'node'])
NODE = self._get_NODE()
bytecode = "xxxxxxxb"
def f(node):
@@ -240,7 +243,7 @@
oldlimit = sys.getrecursionlimit()
try:
sys.setrecursionlimit(10000)
- myjitdriver = JitDriver(greens = ['i'], reds = ['x', 'node'])
+ myjitdriver = JitDriver(greens=['i'], reds=['x', 'node'])
NODE = self._get_NODE()
bytecode = "xxxxxxxb"
@@ -281,7 +284,7 @@
sys.setrecursionlimit(oldlimit)
def test_nested_loops(self):
- myjitdriver = JitDriver(greens = ['i'], reds = ['x', 'y'])
+ myjitdriver = JitDriver(greens=['i'], reds=['x', 'y'])
bytecode = "abc<de"
def f(x, y):
i = 0
@@ -317,7 +320,7 @@
assert res == expected
def test_loop_in_bridge1(self):
- myjitdriver = JitDriver(greens = ['i'], reds = ['x', 'y', 'res'])
+ myjitdriver = JitDriver(greens=['i'], reds=['x', 'y', 'res'])
bytecode = "abs>cxXyY"
def f(y):
res = x = 0
@@ -375,7 +378,7 @@
# x = x + (i&j)
# i = i + 1
- myjitdriver = JitDriver(greens = ['pos'], reds = ['i', 'j', 'n', 'x'])
+ myjitdriver = JitDriver(greens=['pos'], reds=['i', 'j', 'n', 'x'])
bytecode = "IzJxji"
def f(n, threshold):
set_param(myjitdriver, 'threshold', threshold)
@@ -422,7 +425,7 @@
self.val = val
def add(self, val):
return A(self.val + val)
- myjitdriver = JitDriver(greens = ['pos'], reds = ['i', 'j', 'n', 'x'])
+ myjitdriver = JitDriver(greens=['pos'], reds=['i', 'j', 'n', 'x'])
bytecode = "IzJxji"
def f(nval, threshold):
set_param(myjitdriver, 'threshold', threshold)
@@ -464,7 +467,7 @@
assert res == expected
def test_two_bridged_loops(self):
- myjitdriver = JitDriver(greens = ['pos'], reds = ['i', 'n', 's', 'x'])
+ myjitdriver = JitDriver(greens=['pos'], reds=['i', 'n', 's', 'x'])
bytecode = "zI7izI8i"
def f(n, s):
i = x = 0
@@ -510,7 +513,7 @@
def test_two_bridged_loops_classes(self):
- myjitdriver = JitDriver(greens = ['pos'], reds = ['i', 'n', 'x', 's'])
+ myjitdriver = JitDriver(greens=['pos'], reds=['i', 'n', 'x', 's'])
class A(object):
pass
bytecode = "I7i"
@@ -554,10 +557,10 @@
def test_three_nested_loops(self):
- myjitdriver = JitDriver(greens = ['i'], reds = ['x'])
+ myjitdriver = JitDriver(greens=['i'], reds=['x'])
bytecode = ".+357"
def f(x):
- assert x >= 0
+ assert_(x >= 0)
i = 0
while i < len(bytecode):
myjitdriver.jit_merge_point(i=i, x=x)
@@ -590,7 +593,7 @@
assert res == expected
def test_unused_loop_constant(self):
- myjitdriver = JitDriver(greens = [], reds = ['x', 'y', 'z'])
+ myjitdriver = JitDriver(greens=[], reds=['x', 'y', 'z'])
def f(x, y, z):
while z > 0:
myjitdriver.can_enter_jit(x=x, y=y, z=z)
@@ -603,7 +606,7 @@
assert res == expected
def test_loop_unicode(self):
- myjitdriver = JitDriver(greens = [], reds = ['n', 'x'])
+ myjitdriver = JitDriver(greens=[], reds=['n', 'x'])
def f(n):
x = u''
while n > 13:
@@ -617,7 +620,7 @@
assert res == expected
def test_loop_string(self):
- myjitdriver = JitDriver(greens = [], reds = ['n', 'x'])
+ myjitdriver = JitDriver(greens=[], reds=['n', 'x'])
def f(n):
x = ''
while n > 13:
@@ -632,7 +635,7 @@
assert res == expected
def test_adapt_bridge_to_merge_point(self):
- myjitdriver = JitDriver(greens = [], reds = ['x', 'z'])
+ myjitdriver = JitDriver(greens=[], reds=['x', 'z'])
class Z(object):
def __init__(self, elem):
@@ -812,7 +815,7 @@
self.check_trace_count(2)
def test_path_with_operations_not_from_start(self):
- jitdriver = JitDriver(greens = ['k'], reds = ['n', 'z'])
+ jitdriver = JitDriver(greens=['k'], reds=['n', 'z'])
def f(n):
k = 0
@@ -831,11 +834,11 @@
n -= 1
return 42
- res = self.meta_interp(f, [200])
+ self.meta_interp(f, [200])
def test_path_with_operations_not_from_start_2(self):
- jitdriver = JitDriver(greens = ['k'], reds = ['n', 'z', 'stuff'])
+ jitdriver = JitDriver(greens=['k'], reds=['n', 'z', 'stuff'])
class Stuff(object):
def __init__(self, n):
@@ -869,7 +872,8 @@
BASE = lltype.GcStruct('BASE')
A = lltype.GcStruct('A', ('parent', BASE), ('val', lltype.Signed))
B = lltype.GcStruct('B', ('parent', BASE), ('charval', lltype.Char))
- myjitdriver = JitDriver(greens = [], reds = ['n', 'm', 'i', 'j', 'sa', 'p'])
+ myjitdriver = JitDriver(greens=[], reds=['n', 'm', 'i', 'j', 'sa', 'p'])
+
def f(n, m, j):
i = sa = 0
pa = lltype.malloc(A)
@@ -888,22 +892,22 @@
pb = lltype.cast_pointer(lltype.Ptr(B), p)
sa += ord(pb.charval)
sa += 100
- assert n>0 and m>0
+ assert_(n > 0 and m > 0)
i += j
return sa
# This is detected as invalid by the codewriter, for now
py.test.raises(NotImplementedError, self.meta_interp, f, [20, 10, 1])
def test_unerased_pointers_in_short_preamble(self):
- from rpython.rlib.rerased import new_erasing_pair
- from rpython.rtyper.lltypesystem import lltype
class A(object):
def __init__(self, val):
self.val = val
erase_A, unerase_A = new_erasing_pair('A')
erase_TP, unerase_TP = new_erasing_pair('TP')
TP = lltype.GcArray(lltype.Signed)
- myjitdriver = JitDriver(greens = [], reds = ['n', 'm', 'i', 'j', 'sa', 'p'])
+ myjitdriver = JitDriver(
+ greens=[], reds=['n', 'm', 'i', 'j', 'sa', 'p'])
+
def f(n, m, j):
i = sa = 0
p = erase_A(A(7))
@@ -918,14 +922,13 @@
else:
sa += unerase_TP(p)[0]
sa += A(i).val
- assert n>0 and m>0
+ assert_(n > 0 and m > 0)
i += j
return sa
res = self.meta_interp(f, [20, 10, 1])
assert res == f(20, 10, 1)
def test_boxed_unerased_pointers_in_short_preamble(self):
- from rpython.rlib.rerased import new_erasing_pair
from rpython.rtyper.lltypesystem import lltype
class A(object):
def __init__(self, val):
@@ -940,7 +943,7 @@
erase_A, unerase_A = new_erasing_pair('A')
erase_TP, unerase_TP = new_erasing_pair('TP')
TP = lltype.GcArray(lltype.Signed)
- myjitdriver = JitDriver(greens = [], reds = ['n', 'm', 'i', 'sa', 'p'])
+ myjitdriver = JitDriver(greens=[], reds=['n', 'm', 'i', 'sa', 'p'])
def f(n, m):
i = sa = 0
p = Box(erase_A(A(7)))
@@ -1011,7 +1014,6 @@
class C(object):
pass
- from rpython.rlib.rerased import new_erasing_pair
b_erase, b_unerase = new_erasing_pair("B")
c_erase, c_unerase = new_erasing_pair("C")
@@ -1044,7 +1046,6 @@
def test_unroll_issue_3(self):
py.test.skip("decide")
- from rpython.rlib.rerased import new_erasing_pair
b_erase, b_unerase = new_erasing_pair("B") # list of ints
c_erase, c_unerase = new_erasing_pair("C") # list of Nones
@@ -1075,7 +1076,7 @@
assert res == 420
def test_not_too_many_bridges(self):
- jitdriver = JitDriver(greens = [], reds = 'auto')
+ jitdriver = JitDriver(greens=[], reds='auto')
def f(i):
s = 0
@@ -1097,7 +1098,7 @@
def test_sharing_guards(self):
py.test.skip("unimplemented")
- driver = JitDriver(greens = [], reds = 'auto')
+ driver = JitDriver(greens=[], reds='auto')
def f(i):
s = 0
@@ -1145,7 +1146,7 @@
v = reverse(W_Cons(pc + 1, W_Cons(pc + 2, W_Cons(pc + 3, W_Cons(pc + 4, W_Nil())))))
pc = pc + 1
repetitions += 1
-
+
self.meta_interp(entry_point, [])
More information about the pypy-commit
mailing list