Author: Antonio Cuni <anto.c...@gmail.com> Branch: Changeset: r44756:2eda4b5a3dfa Date: 2011-06-06 17:56 +0200 http://bitbucket.org/pypy/pypy/changeset/2eda4b5a3dfa/
Log: port this test to test_pypy_c_new diff --git a/pypy/module/pypyjit/test/test_pypy_c.py b/pypy/module/pypyjit/test/test_pypy_c.py --- a/pypy/module/pypyjit/test/test_pypy_c.py +++ b/pypy/module/pypyjit/test/test_pypy_c.py @@ -279,38 +279,6 @@ return long(sa) ''', 93, count_debug_merge_point=False, *tests) - def test_division_to_rshift(self): - avalues = ('a', 'b', 7, -42, 8) - bvalues = ['b'] + range(-10, 0) + range(1,10) - code = '' - a1, b1, res1 = 10, 20, 0 - a2, b2, res2 = 10, -20, 0 - a3, b3, res3 = -10, -20, 0 - def dd(a, b, aval, bval): - m = {'a': aval, 'b': bval} - if not isinstance(a, int): - a=m[a] - if not isinstance(b, int): - b=m[b] - return a/b - for a in avalues: - for b in bvalues: - code += ' sa += %s / %s\n' % (a, b) - res1 += dd(a, b, a1, b1) - res2 += dd(a, b, a2, b2) - res3 += dd(a, b, a3, b3) - # The purpose of this test is to check that we get - # the correct results, not really to count operations. - self.run_source(''' - def main(a, b): - i = sa = 0 - while i < 2000: -%s - i += 1 - return sa - ''' % code, sys.maxint, ([a1, b1], 2000 * res1), - ([a2, b2], 2000 * res2), - ([a3, b3], 2000 * res3)) def test_mod(self): avalues = ('a', 'b', 7, -42, 8) diff --git a/pypy/module/pypyjit/test_pypy_c/test_pypy_c_new.py b/pypy/module/pypyjit/test_pypy_c/test_pypy_c_new.py --- a/pypy/module/pypyjit/test_pypy_c/test_pypy_c_new.py +++ b/pypy/module/pypyjit/test_pypy_c/test_pypy_c_new.py @@ -1772,6 +1772,28 @@ i15 = int_add(i10, i14) """) + def test_division_to_rshift_allcases(self): + """ + This test only checks that we get the expected result, not that any + optimization has been applied. + """ + avalues = ('a', 'b', 7, -42, 8) + bvalues = ['b'] + range(-10, 0) + range(1,10) + code = '' + for a in avalues: + for b in bvalues: + code += ' sa += %s / %s\n' % (a, b) + src = """ + def main(a, b): + i = sa = 0 + while i < 300: +%s + i += 1 + return sa + """ % code + self.run_and_check(src, [ 10, 20], threshold=200) + self.run_and_check(src, [ 10, -20], threshold=200) + self.run_and_check(src, [-10, -20], threshold=200) def test_oldstyle_newstyle_mix(self): def main(): _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit