[pypy-commit] pypy py3tests: hg merge apptest-file
rlamy
pypy.commits at gmail.com
Mon Nov 12 16:18:13 EST 2018
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: py3tests
Changeset: r95301:399533825dcd
Date: 2018-11-12 21:17 +0000
http://bitbucket.org/pypy/pypy/changeset/399533825dcd/
Log: hg merge apptest-file
diff --git a/pypy/interpreter/test/demomixedmod/__init__.py b/pypy/interpreter/test/demomixedmod/__init__.py
--- a/pypy/interpreter/test/demomixedmod/__init__.py
+++ b/pypy/interpreter/test/demomixedmod/__init__.py
@@ -1,15 +0,0 @@
-from pypy.interpreter.mixedmodule import MixedModule
-
-class Module(MixedModule):
- interpleveldefs = {
- '__name__' : '(space.wrap("mixedmodule"))',
- '__doc__' : '(space.wrap("mixedmodule doc"))',
- 'somefunc' : 'file1.somefunc',
- 'value' : '(space.w_None)',
- 'path' : 'file1.initpath(space)',
- 'cpypath' : 'space.wrap(sys.path)'
- }
-
- appleveldefs = {
- 'someappfunc' : 'file2_app.someappfunc',
- }
diff --git a/pypy/interpreter/test/demomixedmod/__init__.py b/pypy/interpreter/test/demomixedmod/moduledef.py
copy from pypy/interpreter/test/demomixedmod/__init__.py
copy to pypy/interpreter/test/demomixedmod/moduledef.py
diff --git a/pypy/interpreter/test/test_appinterp.py b/pypy/interpreter/test/test_appinterp.py
--- a/pypy/interpreter/test/test_appinterp.py
+++ b/pypy/interpreter/test/test_appinterp.py
@@ -3,32 +3,32 @@
from pypy.interpreter.gateway import appdef, ApplevelClass, applevel_temp
from pypy.interpreter.error import OperationError
-def test_execwith_novars(space):
- val = space.appexec([], """
- ():
- return 42
- """)
+def test_execwith_novars(space):
+ val = space.appexec([], """
+ ():
+ return 42
+ """)
assert space.eq_w(val, space.wrap(42))
-def test_execwith_withvars(space):
+def test_execwith_withvars(space):
val = space.appexec([space.wrap(7)], """
- (x):
- y = 6 * x
- return y
- """)
+ (x):
+ y = 6 * x
+ return y
+ """)
assert space.eq_w(val, space.wrap(42))
-def test_execwith_compile_error(space):
+def test_execwith_compile_error(space):
excinfo = py.test.raises(OperationError, space.appexec, [], """
- ():
- y y
+ ():
+ y y
""")
# NOTE: the following test only works because excinfo.value is not
# normalized so far
- assert str(excinfo.value.get_w_value(space)).find('y y') != -1
+ assert str(excinfo.value.get_w_value(space)).find('y y') != -1
def test_simple_applevel(space):
- app = appdef("""app(x,y):
+ app = appdef("""app(x,y):
return x + y
""")
assert app.__name__ == 'app'
@@ -36,15 +36,15 @@
assert space.eq_w(w_result, space.wrap(42))
def test_applevel_with_one_default(space):
- app = appdef("""app(x,y=1):
+ app = appdef("""app(x,y=1):
return x + y
""")
assert app.__name__ == 'app'
- w_result = app(space, space.wrap(41))
+ w_result = app(space, space.wrap(41))
assert space.eq_w(w_result, space.wrap(42))
def test_applevel_with_two_defaults(space):
- app = appdef("""app(x=1,y=2):
+ app = appdef("""app(x=1,y=2):
return x + y
""")
w_result = app(space, space.wrap(41), space.wrap(1))
@@ -58,19 +58,19 @@
def test_applevel_noargs(space):
- app = appdef("""app():
- return 42
+ app = appdef("""app():
+ return 42
""")
assert app.__name__ == 'app'
- w_result = app(space)
+ w_result = app(space)
assert space.eq_w(w_result, space.wrap(42))
-def somefunc(arg2=42):
- return arg2
+def somefunc(arg2=42):
+ return arg2
-def test_app2interp_somefunc(space):
- app = appdef(somefunc)
- w_result = app(space)
+def test_app2interp_somefunc(space):
+ app = appdef(somefunc)
+ w_result = app(space)
assert space.eq_w(w_result, space.wrap(42))
def test_applevel_functions(space, applevel_temp = applevel_temp):
@@ -87,45 +87,45 @@
def test_applevel_class(space, applevel_temp = applevel_temp):
app = applevel_temp('''
class C(object):
- clsattr = 42
- def __init__(self, x=13):
- self.attr = x
+ clsattr = 42
+ def __init__(self, x=13):
+ self.attr = x
''')
C = app.interphook('C')
- c = C(space, space.wrap(17))
+ c = C(space, space.wrap(17))
w_attr = space.getattr(c, space.wrap('clsattr'))
assert space.eq_w(w_attr, space.wrap(42))
w_clsattr = space.getattr(c, space.wrap('attr'))
assert space.eq_w(w_clsattr, space.wrap(17))
-def app_test_something_at_app_level():
+def app_test_something_at_app_level():
x = 2
assert x/2 == 1
-class AppTestMethods:
- def test_some_app_test_method(self):
+class AppTestMethods:
+ def test_some_app_test_method(self):
assert 2 == 2
-class TestMixedModule:
- def test_accesses(self):
+class TestMixedModule:
+ def test_accesses(self):
space = self.space
- import demomixedmod
- w_module = demomixedmod.Module(space, space.wrap('mixedmodule'))
+ from .demomixedmod.moduledef import Module
+ w_module = Module(space, space.wrap('mixedmodule'))
space.appexec([w_module], """
- (module):
- assert module.value is None
+ (module):
+ assert module.value is None
assert module.__doc__ == 'mixedmodule doc'
- assert module.somefunc is module.somefunc
- result = module.somefunc()
- assert result == True
+ assert module.somefunc is module.somefunc
+ result = module.somefunc()
+ assert result == True
- assert module.someappfunc is module.someappfunc
- appresult = module.someappfunc(41)
- assert appresult == 42
+ assert module.someappfunc is module.someappfunc
+ appresult = module.someappfunc(41)
+ assert appresult == 42
assert module.__dict__ is module.__dict__
- for name in ('somefunc', 'someappfunc', '__doc__', '__name__'):
+ for name in ('somefunc', 'someappfunc', '__doc__', '__name__'):
assert name in module.__dict__
""")
assert space.is_true(w_module.call('somefunc'))
diff --git a/pypy/module/_cffi_backend/ctypefunc.py b/pypy/module/_cffi_backend/ctypefunc.py
--- a/pypy/module/_cffi_backend/ctypefunc.py
+++ b/pypy/module/_cffi_backend/ctypefunc.py
@@ -31,7 +31,8 @@
cif_descr = lltype.nullptr(CIF_DESCRIPTION)
- def __init__(self, space, fargs, fresult, ellipsis, abi=FFI_DEFAULT_ABI):
+ def __init__(self, space, fargs, fresult, ellipsis,
+ abi=FFI_DEFAULT_ABI):
assert isinstance(ellipsis, bool)
extra, xpos = self._compute_extra_text(fargs, fresult, ellipsis, abi)
size = rffi.sizeof(rffi.VOIDP)
@@ -98,7 +99,6 @@
lltype.free(self.cif_descr, flavor='raw')
def _compute_extra_text(self, fargs, fresult, ellipsis, abi):
- from pypy.module._cffi_backend import newtype
argnames = ['(*)(']
xpos = 2
if has_stdcall and abi == FFI_STDCALL:
diff --git a/pypy/module/_cffi_backend/ffi_obj.py b/pypy/module/_cffi_backend/ffi_obj.py
--- a/pypy/module/_cffi_backend/ffi_obj.py
+++ b/pypy/module/_cffi_backend/ffi_obj.py
@@ -6,8 +6,7 @@
from rpython.rlib import jit, rgc
from rpython.rtyper.lltypesystem import lltype, rffi
-from pypy.module._cffi_backend.moduledef import (
- get_dict_rtld_constants)
+from pypy.module._cffi_backend.moduledef import get_dict_rtld_constants
from pypy.module._cffi_backend import parse_c_type, realize_c_type
from pypy.module._cffi_backend import newtype, cerrno, ccallback, ctypearray
from pypy.module._cffi_backend import ctypestruct, ctypeptr, handle
diff --git a/pypy/module/_cffi_backend/moduledef.py b/pypy/module/_cffi_backend/moduledef.py
--- a/pypy/module/_cffi_backend/moduledef.py
+++ b/pypy/module/_cffi_backend/moduledef.py
@@ -2,7 +2,8 @@
from pypy.interpreter.mixedmodule import MixedModule
from rpython.rlib import rdynload, clibffi
from rpython.rtyper.lltypesystem import rffi
-from pypy.module._cffi_backend import VERSION
+
+from . import VERSION
FFI_DEFAULT_ABI = clibffi.FFI_DEFAULT_ABI
try:
diff --git a/pypy/module/cpyext/api.py b/pypy/module/cpyext/api.py
--- a/pypy/module/cpyext/api.py
+++ b/pypy/module/cpyext/api.py
@@ -686,9 +686,9 @@
# PyExc_AttributeError, PyExc_OverflowError, PyExc_ImportError,
# PyExc_NameError, PyExc_MemoryError, PyExc_RuntimeError,
# PyExc_UnicodeEncodeError, PyExc_UnicodeDecodeError, ...
- from pypy.module.exceptions.moduledef import Module
global all_exceptions
- all_exceptions = list(Module.interpleveldefs)
+ from pypy.module.exceptions.moduledef import Module as ExcModule
+ all_exceptions = list(ExcModule.interpleveldefs)
for exc_name in all_exceptions:
if exc_name in ('EnvironmentError', 'IOError', 'WindowsError'):
# FIXME: aliases of OSError cause a clash of names via
diff --git a/pypy/module/cpyext/object.py b/pypy/module/cpyext/object.py
--- a/pypy/module/cpyext/object.py
+++ b/pypy/module/cpyext/object.py
@@ -7,7 +7,6 @@
from pypy.module.cpyext.pyobject import (
PyObject, PyObjectP, from_ref, incref, decref,
get_typedescr, hack_for_result_often_existing_obj)
-from pypy.module.cpyext.typeobject import PyTypeObjectPtr
from pypy.module.cpyext.pyerrors import PyErr_NoMemory, PyErr_BadInternalCall
from pypy.objspace.std.typeobject import W_TypeObject
from pypy.objspace.std.bytesobject import invoke_bytes_method
@@ -267,7 +266,7 @@
if opid == Py_EQ:
return 1
if opid == Py_NE:
- return 0
+ return 0
w_res = PyObject_RichCompare(space, w_o1, w_o2, opid_int)
return int(space.is_true(w_res))
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
@@ -14,6 +14,8 @@
from rpython.rlib import rawrefcount
from rpython.tool.udir import udir
+import pypy.module.cpyext.moduledef # Make sure all the functions are registered
+
only_pypy ="config.option.runappdirect and '__pypy__' not in sys.builtin_module_names"
@api.cpython_api([], api.PyObject)
More information about the pypy-commit
mailing list