[pypy-commit] pypy test-cpyext: backport 243ced1b2519: run import_module() at app-level on -A

rlamy pypy.commits at gmail.com
Mon Oct 3 12:58:08 EDT 2016


Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: test-cpyext
Changeset: r87542:d4878e17d7d3
Date: 2016-10-02 01:06 +0100
http://bitbucket.org/pypy/pypy/changeset/d4878e17d7d3/

Log:	backport 243ced1b2519: run import_module() at app-level on -A

diff --git a/pypy/module/cpyext/test/conftest.py b/pypy/module/cpyext/test/conftest.py
--- a/pypy/module/cpyext/test/conftest.py
+++ b/pypy/module/cpyext/test/conftest.py
@@ -3,6 +3,10 @@
 
 def pytest_configure(config):
     if config.option.runappdirect:
+        import sys
+        import py
+        from pypy import pypydir
+        sys.path.append(str(py.path.local(pypydir) / 'tool' / 'cpyext'))
         return
     from pypy.tool.pytest.objspace import gettestobjspace
     # For some reason (probably a ll2ctypes cache issue on linux64)
diff --git a/pypy/module/cpyext/test/test_cpyext.py b/pypy/module/cpyext/test/test_cpyext.py
--- a/pypy/module/cpyext/test/test_cpyext.py
+++ b/pypy/module/cpyext/test/test_cpyext.py
@@ -83,7 +83,7 @@
 
 class LeakCheckingTest(object):
     """Base class for all cpyext tests."""
-    spaceconfig = dict(usemodules=['cpyext', 'thread', '_rawffi', 'array',
+    spaceconfig = dict(usemodules=['cpyext', 'thread', 'struct', 'array',
                                    'itertools', 'time', 'binascii',
                                    'micronumpy', 'mmap'
                                    ])
@@ -229,6 +229,15 @@
             cls.w_debug_collect = space.wrap(interp2app(debug_collect))
         else:
             cls.sys_info = get_sys_info_app()
+            def w_import_module(self, name, init=None, body='', filename=None,
+                    include_dirs=None, PY_SSIZE_T_CLEAN=False):
+                from extbuild import get_sys_info_app
+                sys_info = get_sys_info_app()
+                return sys_info.import_module(
+                    name, init=init, body=body, filename=filename,
+                    include_dirs=include_dirs,
+                    PY_SSIZE_T_CLEAN=PY_SSIZE_T_CLEAN)
+            cls.w_import_module = w_import_module
 
     def record_imported_module(self, name):
         """


More information about the pypy-commit mailing list