[pypy-commit] pypy py3k: Fix tests in module/imp, and add -A support to run most of them.
amauryfa
noreply at buildbot.pypy.org
Mon Nov 19 23:51:36 CET 2012
Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: py3k
Changeset: r59005:150673184cc6
Date: 2012-11-19 21:16 +0100
http://bitbucket.org/pypy/pypy/changeset/150673184cc6/
Log: Fix tests in module/imp, and add -A support to run most of them.
diff --git a/pypy/module/imp/test/test_app.py b/pypy/module/imp/test/test_app.py
--- a/pypy/module/imp/test/test_app.py
+++ b/pypy/module/imp/test/test_app.py
@@ -1,8 +1,6 @@
from __future__ import with_statement
from pypy.tool.udir import udir
-MARKER = 42
-
class AppTestImpModule:
spaceconfig = dict(usemodules=('imp',))
@@ -16,11 +14,10 @@
cls.w_udir = cls.space.wrap(str(udir))
def w__py_file(self):
- fn = self.file_module
- if fn.lower().endswith('c') or fn.lower().endswith('o'):
- fn = fn[:-1]
- assert fn.lower().endswith('.py')
- return fn
+ f = open('@TEST.py', 'w')
+ f.write('MARKER = 42\n')
+ f.close()
+ return '@TEST.py'
def w__pyc_file(self):
import marshal, imp
diff --git a/pypy/module/imp/test/test_import.py b/pypy/module/imp/test/test_import.py
--- a/pypy/module/imp/test/test_import.py
+++ b/pypy/module/imp/test/test_import.py
@@ -149,16 +149,14 @@
""")
class AppTestImport:
- spaceconfig = dict(usemodules=['itertools'])
-
def setup_class(cls): # interpreter-level
cls.w_runappdirect = cls.space.wrap(conftest.option.runappdirect)
- cls.saved_modules = _setup(cls.space)
+ cls.w_saved_modules = _setup(cls.space)
#XXX Compile class
def teardown_class(cls): # interpreter-level
- _teardown(cls.space, cls.saved_modules)
+ _teardown(cls.space, cls.w_saved_modules)
def w_exec_(self, cmd, ns):
exec(cmd, ns)
diff --git a/pypy/tool/pytest/apptest.py b/pypy/tool/pytest/apptest.py
--- a/pypy/tool/pytest/apptest.py
+++ b/pypy/tool/pytest/apptest.py
@@ -66,6 +66,16 @@
defs.append(str(code))
args = ','.join(repr(arg) for arg in args)
defs.append("self.%s = anonymous(%s)\n" % (symbol, args))
+ elif isinstance(value, types.MethodType):
+ # "def w_method(self)"
+ code = py.code.Code(value)
+ defs.append(str(code.source()))
+ defs.append("type(self).%s = w_%s\n" % (symbol, symbol))
+ elif isinstance(value, types.ModuleType):
+ name = value.__name__
+ defs.append("import %s; self.%s = %s\n" % (name, symbol, name))
+ elif isinstance(value, (int, str)):
+ defs.append("self.%s = %r\n" % (symbol, value))
source = py.code.Source(target_)[1:].deindent()
pyfile = udir.join('src.py')
source = helpers + '\n'.join(defs) + str(source)
More information about the pypy-commit
mailing list