[pypy-svn] r18242 - in pypy/dist/pypy/interpreter: pyparser/test pyparser/test/samples testcompiler
pedronis at codespeak.net
pedronis at codespeak.net
Fri Oct 7 02:59:48 CEST 2005
Author: pedronis
Date: Fri Oct 7 02:59:44 2005
New Revision: 18242
Removed:
pypy/dist/pypy/interpreter/testcompiler/
Modified:
pypy/dist/pypy/interpreter/pyparser/test/samples/snippet_decorators.py
pypy/dist/pypy/interpreter/pyparser/test/test_astbuilder.py
pypy/dist/pypy/interpreter/pyparser/test/test_astcompiler.py
pypy/dist/pypy/interpreter/pyparser/test/test_samples.py
Log:
use the resurrected stablecompiler in astbuilder/astcompiler tests so they work on 2.3 too
kill instead testcompiler
PS: it seems beacause of a typo 'single' mode is not tested, kept thing this way but we should look into this,
if fixed some tests fail
Modified: pypy/dist/pypy/interpreter/pyparser/test/samples/snippet_decorators.py
==============================================================================
--- pypy/dist/pypy/interpreter/pyparser/test/samples/snippet_decorators.py (original)
+++ pypy/dist/pypy/interpreter/pyparser/test/samples/snippet_decorators.py Fri Oct 7 02:59:44 2005
@@ -5,7 +5,7 @@
@accepts(int, (int,float))
@returns((int,float))
-def func(arg1, arg2):
+def func0(arg1, arg2):
return arg1 * arg2
Modified: pypy/dist/pypy/interpreter/pyparser/test/test_astbuilder.py
==============================================================================
--- pypy/dist/pypy/interpreter/pyparser/test/test_astbuilder.py (original)
+++ pypy/dist/pypy/interpreter/pyparser/test/test_astbuilder.py Fri Oct 7 02:59:44 2005
@@ -3,8 +3,8 @@
from pypy.interpreter.pyparser.pythonparse import PYTHON_PARSER
from pypy.interpreter.pyparser.astbuilder import AstBuilder
from pypy.interpreter.pyparser.pythonutil import ast_from_input
-from pypy.interpreter.testcompiler.transformer import Transformer
-import pypy.interpreter.testcompiler.ast as test_ast
+from pypy.interpreter.stablecompiler.transformer import Transformer
+import pypy.interpreter.stablecompiler.ast as test_ast
import pypy.interpreter.astcompiler.ast as ast_ast
import py.test
Modified: pypy/dist/pypy/interpreter/pyparser/test/test_astcompiler.py
==============================================================================
--- pypy/dist/pypy/interpreter/pyparser/test/test_astcompiler.py (original)
+++ pypy/dist/pypy/interpreter/pyparser/test/test_astcompiler.py Fri Oct 7 02:59:44 2005
@@ -1,13 +1,11 @@
import os
from pypy.interpreter.pyparser.pythonparse import PYTHON_PARSER
from pypy.interpreter.pyparser.astbuilder import AstBuilder
+from pypy.interpreter.pyparser.tuplebuilder import TupleBuilder
from pypy.interpreter.pycode import PyCode
import py.test
def setup_module(mod):
- import sys
- if sys.version[:3] != "2.4":
- py.test.skip("expected to work only on 2.4")
import pypy.conftest
mod.std_space = pypy.conftest.getobjspace('std')
@@ -70,7 +68,7 @@
def compile_with_astcompiler(expr, target='exec', space=FakeSpace()):
- ast = ast_parse_expr(expr, target='exec', space=space)
+ ast = ast_parse_expr(expr, target='exec', space=space) # xxx exec: single not really tested, mumble
misc.set_filename('<?>', ast)
if target == 'exec':
Generator = pycodegen.ModuleCodeGenerator
@@ -82,10 +80,23 @@
rcode = codegen.getCode()
return rcode
-def compile_with_testcompiler(expr, target='exec'):
- from pypy.interpreter.testcompiler import compile
- # from compiler import compile
- return compile(expr, '<?>', target)
+def compile_with_testcompiler(expr, target='exec', space=FakeSpace()):
+ target2 = TARGET_DICT['exec'] # xxx exec: single not really tested
+ builder = TupleBuilder()
+ PYTHON_PARSER.parse_source(expr, target2, builder)
+ tuples = builder.stack[-1].as_tuple(True)
+ from pypy.interpreter.stablecompiler import transformer, pycodegen, misc
+ ast = transformer.Transformer('<?>').compile_node(tuples)
+ misc.set_filename('<?>', ast)
+ if target == 'exec':
+ Generator = pycodegen.ModuleCodeGenerator
+ elif target == 'single':
+ Generator = pycodegen.InteractiveCodeGenerator
+ elif target == 'eval':
+ Generator = pycodegen.ExpressionCodeGenerator
+ codegen = Generator(ast)
+ rcode = codegen.getCode()
+ return rcode
def compare_code(ac_code, sc_code, space=FakeSpace()):
Modified: pypy/dist/pypy/interpreter/pyparser/test/test_samples.py
==============================================================================
--- pypy/dist/pypy/interpreter/pyparser/test/test_samples.py (original)
+++ pypy/dist/pypy/interpreter/pyparser/test/test_samples.py Fri Oct 7 02:59:44 2005
@@ -93,7 +93,7 @@
assert False, testname
-from pypy.interpreter.testcompiler.transformer import Transformer as PyPyTransformer
+from pypy.interpreter.stablecompiler.transformer import Transformer as PyPyTransformer
from compiler.transformer import Transformer as PythonTransformer
def _check_tuples_equality(pypy_tuples, python_tuples, testname):
More information about the Pypy-commit
mailing list