[pypy-commit] pypy bootstrap-clarity: Make module _cleanup_ explicit
rlamy
pypy.commits at gmail.com
Tue Mar 15 16:12:10 EDT 2016
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: bootstrap-clarity
Changeset: r83077:11e9cab4e26f
Date: 2016-03-15 20:10 +0000
http://bitbucket.org/pypy/pypy/changeset/11e9cab4e26f/
Log: Make module _cleanup_ explicit
diff --git a/pypy/interpreter/baseobjspace.py b/pypy/interpreter/baseobjspace.py
--- a/pypy/interpreter/baseobjspace.py
+++ b/pypy/interpreter/baseobjspace.py
@@ -633,6 +633,8 @@
self.getbuiltinmodule('__builtin__')
for mod in self.builtin_modules.values():
mod.setup_after_space_initialization()
+ for mod in self.builtin_modules.values():
+ mod.cleanup()
def initialize(self):
"""NOT_RPYTHON: Abstract method that should put some minimal
diff --git a/pypy/interpreter/mixedmodule.py b/pypy/interpreter/mixedmodule.py
--- a/pypy/interpreter/mixedmodule.py
+++ b/pypy/interpreter/mixedmodule.py
@@ -123,7 +123,7 @@
self.save_module_content_for_future_reload()
return self.w_dict
- def _cleanup_(self):
+ def cleanup(self):
self.getdict(self.space)
self.w_initialdict = None
self.startup_called = False
diff --git a/pypy/interpreter/module.py b/pypy/interpreter/module.py
--- a/pypy/interpreter/module.py
+++ b/pypy/interpreter/module.py
@@ -29,7 +29,7 @@
space.w_None)
self.startup_called = False
- def _cleanup_(self):
+ def cleanup(self):
"""Called by the annotator on prebuilt Module instances.
We don't have many such modules, but for the ones that
show up, remove their __file__ rather than translate it
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,30 +3,30 @@
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
""")
- assert str(excinfo.value.errorstr(space)).find('y y') != -1
+ assert str(excinfo.value.errorstr(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.func_name == 'app'
@@ -34,15 +34,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.func_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))
@@ -56,19 +56,19 @@
def test_applevel_noargs(space):
- app = appdef("""app():
- return 42
+ app = appdef("""app():
+ return 42
""")
assert app.func_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):
@@ -85,45 +85,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
+ import demomixedmod
w_module = demomixedmod.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'))
@@ -172,8 +172,7 @@
# Uncomment this line for a workaround
# space.getattr(w_ssl, space.wrap('SSLError'))
- w_socket._cleanup_()
+ w_socket.cleanup()
assert w_socket.startup_called == False
- w_ssl._cleanup_() # w_ssl.appleveldefs['SSLError'] imports _socket
+ w_ssl.cleanup() # w_ssl.appleveldefs['SSLError'] imports _socket
assert w_socket.startup_called == False
-
More information about the pypy-commit
mailing list