Author: Manuel Jacob Branch: Changeset: r68864:b4f8189e6b0b Date: 2014-01-23 17:59 +0100 http://bitbucket.org/pypy/pypy/changeset/b4f8189e6b0b/
Log: Fix these tests to actually run the optimizations. diff --git a/rpython/translator/c/test/test_backendoptimized.py b/rpython/translator/c/test/test_backendoptimized.py --- a/rpython/translator/c/test/test_backendoptimized.py +++ b/rpython/translator/c/test/test_backendoptimized.py @@ -1,6 +1,4 @@ -from rpython.conftest import option from rpython.rlib.rarithmetic import r_uint, r_longlong, r_ulonglong -from rpython.translator.backendopt.all import backend_optimizations from rpython.translator.c.test.test_typed import TestTypedTestCase as _TestTypedTestCase from rpython.translator.c.test.test_genc import compile @@ -77,12 +75,8 @@ assert res == 42 class TestTypedOptimizedSwitchTestCase: - - class CodeGenerator(_TestTypedTestCase): - def process(self, t): - _TestTypedTestCase.process(self, t) - self.t = t - backend_optimizations(t, merge_if_blocks=True) + def getcompiled(self, func, argtypes): + return compile(func, argtypes, merge_if_blocks=True) def test_int_switch(self): def f(x): @@ -93,8 +87,7 @@ elif x == 27: return 3 return 0 - codegenerator = self.CodeGenerator() - fn = codegenerator.getcompiled(f, [int]) + fn = self.getcompiled(f, [int]) for x in (0,1,2,3,9,27,48, -9): assert fn(x) == f(x) @@ -107,8 +100,7 @@ elif x == 3: return 3 return 0 - codegenerator = self.CodeGenerator() - fn = codegenerator.getcompiled(f, [int]) + fn = self.getcompiled(f, [int]) for x in (0,1,2,3,9,27,48, -9): assert fn(x) == f(x) @@ -121,8 +113,7 @@ elif x == 3: return 3 return 0 - codegenerator = self.CodeGenerator() - fn = codegenerator.getcompiled(f, [int]) + fn = self.getcompiled(f, [int]) for x in (0,1,2,3,9,27,48, -9): assert fn(x) == f(x) @@ -135,8 +126,7 @@ elif x == r_uint(27): return 3 return 0 - codegenerator = self.CodeGenerator() - fn = codegenerator.getcompiled(f, [r_uint]) + fn = self.getcompiled(f, [r_uint]) for x in (0,1,2,3,9,27,48): assert fn(r_uint(x)) == f(r_uint(x)) @@ -149,8 +139,7 @@ elif x == r_longlong(27): return 3 return 0 - codegenerator = self.CodeGenerator() - fn = codegenerator.getcompiled(f, [r_longlong]) + fn = self.getcompiled(f, [r_longlong]) for x in (0,1,2,3,9,27,48, -9): assert fn(r_longlong(x)) == f(r_longlong(x)) @@ -163,8 +152,7 @@ elif x == r_ulonglong(27): return 3 return 0 - codegenerator = self.CodeGenerator() - fn = codegenerator.getcompiled(f, [r_ulonglong]) + fn = self.getcompiled(f, [r_ulonglong]) for x in (0,1,2,3,9,27,48, r_ulonglong(-9)): assert fn(r_ulonglong(x)) == f(r_ulonglong(x)) @@ -178,8 +166,7 @@ elif x == 'c': return 'd' return '@' - codegenerator = self.CodeGenerator() - fn = codegenerator.getcompiled(f, [int]) + fn = self.getcompiled(f, [int]) for x in 'ABCabc@': y = ord(x) assert fn(y) == f(y) @@ -194,8 +181,7 @@ if case == '\xFB': return 5 if case == '\xFA': return 6 return 7 - codegenerator = self.CodeGenerator() - fn = codegenerator.getcompiled(f, [int]) + fn = self.getcompiled(f, [int]) for input, expected in [(255, 1), (253, 3), (251, 5), (161, 7)]: res = fn(input) assert res == expected @@ -210,20 +196,15 @@ elif x == u'c': return 'd' return '@' - codegenerator = self.CodeGenerator() - fn = codegenerator.getcompiled(f, [int]) + fn = self.getcompiled(f, [int]) for x in u'ABCabc@': y = ord(x) assert fn(y) == f(y) class TestTypedOptimizedRaisingOps: - - class CodeGenerator(_TestTypedTestCase): - def process(self, t): - _TestTypedTestCase.process(self, t) - self.t = t - backend_optimizations(t, raisingop2direct_call=True) + def getcompiled(self, func, argtypes): + return compile(func, argtypes, raisingop2direct_call=True) def test_int_floordiv_zer(self): def f(x): @@ -232,7 +213,6 @@ except: y = 456 return y - codegenerator = self.CodeGenerator() - fn = codegenerator.getcompiled(f, [int]) + fn = self.getcompiled(f, [int]) for x in (0,1,2,3,9,27,48, -9): assert fn(x) == f(x) diff --git a/rpython/translator/c/test/test_genc.py b/rpython/translator/c/test/test_genc.py --- a/rpython/translator/c/test/test_genc.py +++ b/rpython/translator/c/test/test_genc.py @@ -50,7 +50,7 @@ unsigned_ffffffff) def compile(fn, argtypes, view=False, gcpolicy="none", backendopt=True, - annotatorpolicy=None, thread=False): + annotatorpolicy=None, thread=False, **kwds): argtypes_unroll = unrolling_iterable(enumerate(argtypes)) for argtype in argtypes: @@ -98,7 +98,7 @@ return 0 t = Translation(entry_point, None, gc=gcpolicy, backend="c", - policy=annotatorpolicy, thread=thread) + policy=annotatorpolicy, thread=thread, **kwds) if not backendopt: t.disable(["backendopt_lltype"]) t.driver.config.translation.countmallocs = True _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit