Author: Matti Picus <matti.pi...@gmail.com>
Branch: py3.6
Changeset: r97881:50cb48b9e6e5
Date: 2019-10-29 13:36 +0200
http://bitbucket.org/pypy/pypy/changeset/50cb48b9e6e5/

Log:    merge default into branch

diff --git a/pypy/doc/whatsnew-head.rst b/pypy/doc/whatsnew-head.rst
--- a/pypy/doc/whatsnew-head.rst
+++ b/pypy/doc/whatsnew-head.rst
@@ -16,3 +16,7 @@
 .. branch: license-update
 
 Update list directories in LICENSE
+
+.. branch: allow-forcing-no-embed
+
+When packaging, allow suppressing embedded dependencies via 
PYPY_NO_EMBED_DEPENDENCIES
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
@@ -158,25 +158,3 @@
         w_str = space1.getattr(w_mymod1, space1.wrap("hi"))
         assert space1.text_w(w_str) == "hello"
 
-class TestMixedModuleUnfreeze:
-    spaceconfig = dict(usemodules=('_socket',))
-
-    def test_random_stuff_can_unfreeze(self):
-        # When a module contains an "import" statement in applevel code, the
-        # imported module is initialized, possibly after it has been already
-        # frozen.
-
-        # This is important when the module startup() function does something
-        # at runtime, like setting os.environ (posix module) or initializing
-        # the winsock library (_socket module)
-        w_socket = self.space.builtin_modules['_socket']
-        # _ssl is not builtin anymore, this test also tried to _cleanup_ on
-        # the wrapped ssl object
-        # w_ssl = self.space.builtin_modules['_ssl']
-
-        # Uncomment this line for a workaround
-        # space.getattr(w_ssl, space.wrap('SSLError'))
-
-        w_socket._cleanup_()
-        assert w_socket.startup_called == False
-
diff --git a/pypy/module/_demo/app_demo.py b/pypy/module/_demo/app_demo.py
--- a/pypy/module/_demo/app_demo.py
+++ b/pypy/module/_demo/app_demo.py
@@ -1,3 +1,8 @@
+# import posix underneath
+from os import environ
+
+# for the test_random_stuff_can_unfreeze test
+environ['PYPY_DEMO_MODULE_ERROR'] = '1'
 
 class DemoError(Exception):
     pass
diff --git a/pypy/module/_demo/test/test_import.py 
b/pypy/module/_demo/test/test_import.py
--- a/pypy/module/_demo/test/test_import.py
+++ b/pypy/module/_demo/test/test_import.py
@@ -28,3 +28,23 @@
         assert Module.demo_events == ['setup', 'startup']
 
         assert space.getattr(w_demo, space.wrap('measuretime'))
+
+class TestMixedModuleUnfreeze:
+    spaceconfig = dict(usemodules=('_demo', 'posix'))
+
+    def test_random_stuff_can_unfreeze(self):
+        # When a module contains an "import" statement in applevel code, the
+        # imported module is initialized, possibly after it has been already
+        # frozen.
+
+        # This is important when the module startup() function does something
+        # at runtime, like setting os.environ (posix module) or initializing
+        # the winsock library (_socket module)
+        w_posix = self.space.builtin_modules['posix']
+        w_demo = self.space.builtin_modules['_demo']
+
+        w_posix._cleanup_()
+        assert w_posix.startup_called == False
+        w_demo._cleanup_() # w_demo.appleveldefs['DemoError'] imports posix
+        assert w_posix.startup_called == False
+
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to