Author: Armin Rigo <[email protected]>
Branch: py3.5
Changeset: r88743:421d7a728d21
Date: 2016-11-29 16:16 +0100
http://bitbucket.org/pypy/pypy/changeset/421d7a728d21/

Log:    Make generic the code to find the app-level name of a builtin module
        from its rpython-level name

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
@@ -21,13 +21,6 @@
 
 pypyroot = os.path.dirname(pypydir)
 
-RENAMED_USEMODULES = dict(
-    _winreg='winreg',
-    exceptions='builtins',
-    struct='_struct',
-    thread='_thread',
-    operator='_operator',
-    )
 
 class AppError(Exception):
     def __init__(self, excinfo):
@@ -63,6 +56,11 @@
         return repr(value)
 
 
+def _rename_module(name):
+    mod = __import__("pypy.module." + name, globals(), locals(), ['Module'])
+    return mod.Module.applevel_name or name
+
+
 def run_with_python(python_, target_, usemodules, **definitions):
     if python_ is None:
         py.test.skip("Cannot find the default python3 interpreter to run with 
-A")
@@ -133,8 +131,7 @@
 
     check_usemodules = ''
     if usemodules:
-        usemodules = [str(RENAMED_USEMODULES.get(name, name))
-                      for name in usemodules]
+        usemodules = [_rename_module(name) for name in usemodules]
         check_usemodules = """\
     missing = set(%r).difference(sys.builtin_module_names)
     if missing:
diff --git a/pypy/tool/pytest/test/test_appsupport.py 
b/pypy/tool/pytest/test/test_appsupport.py
--- a/pypy/tool/pytest/test/test_appsupport.py
+++ b/pypy/tool/pytest/test/test_appsupport.py
@@ -135,3 +135,12 @@
     info = raises(ZeroDivisionError, "x/0")
     assert info.type is ZeroDivisionError
     assert isinstance(info.value, ZeroDivisionError)
+
+def test_rename_module():
+    from pypy.tool.pytest.apptest import _rename_module
+    assert _rename_module("sys") == "sys"
+    if sys.platform == "win32":
+        assert _rename_module("_winreg") == "winreg"
+    assert _rename_module("struct") == "_struct"
+    assert _rename_module("operator") == "_operator"
+    assert _rename_module("signal") == "_signal"
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to