[pypy-commit] pypy py3.5-marshal3: hg merge py3.5

arigo pypy.commits at gmail.com
Sun Aug 28 16:14:42 EDT 2016


Author: Armin Rigo <arigo at tunes.org>
Branch: py3.5-marshal3
Changeset: r86659:758d9fa7c013
Date: 2016-08-28 22:13 +0200
http://bitbucket.org/pypy/pypy/changeset/758d9fa7c013/

Log:	hg merge py3.5

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -27,3 +27,4 @@
 40497617ae91caa1a394d8be6f9cd2de31cb0628 release-pypy3.3-v5.2
 c09c19272c990a0611b17569a0085ad1ab00c8ff release-pypy2.7-v5.3
 7e8df3df96417c16c2d55b41352ec82c9c69c978 release-pypy2.7-v5.3.1
+68bb3510d8212ae9efb687e12e58c09d29e74f87 release-pypy2.7-v5.4.0
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
@@ -3,6 +3,6 @@
 ==========================
 
 .. this is a revision shortly after release-pypy2.7-v5.4
-.. startrev: 4176c6f63109
+.. startrev: 522736f816dc
 
 
diff --git a/pypy/module/imp/test/test_import.py b/pypy/module/imp/test/test_import.py
--- a/pypy/module/imp/test/test_import.py
+++ b/pypy/module/imp/test/test_import.py
@@ -1188,14 +1188,8 @@
             sys.path_hooks.pop()
 
     def test_meta_path_import_error_1(self):
-        # as far as I can tell, the problem is that in CPython, if you
-        # use an import hook that doesn't update sys.modules, then the
-        # import succeeds; but at the same time, you can have the same
-        # result without an import hook (see test_del_from_sys_modules)
-        # and then the import fails.  This looks like even more mess
-        # to replicate, so we ignore it until someone really hits this
-        # case...
-        skip("looks like an inconsistency in CPython")
+        # check that we get a KeyError somewhere inside
+        # <frozen importlib._bootstrap>, like CPython 3.5
 
         class ImportHook(object):
             def find_module(self, fullname, path=None):
@@ -1205,12 +1199,12 @@
             def load_module(self, fullname):
                 assert fullname == 'meta_path_pseudo_module'
                 # we "forget" to update sys.modules
-                return new.module('meta_path_pseudo_module')
+                return types.ModuleType('meta_path_pseudo_module')
 
-        import sys, new
+        import sys, types
         sys.meta_path.append(ImportHook())
         try:
-            import meta_path_pseudo_module
+            raises(KeyError, "import meta_path_pseudo_module")
         finally:
             sys.meta_path.pop()
 
diff --git a/pypy/tool/release/repackage.sh b/pypy/tool/release/repackage.sh
--- a/pypy/tool/release/repackage.sh
+++ b/pypy/tool/release/repackage.sh
@@ -1,7 +1,7 @@
 # Edit these appropriately before running this script
 maj=5
-min=3
-rev=1
+min=4
+rev=0
 branchname=release-$maj.x  # ==OR== release-$maj.$min.x
 tagname=release-pypy2.7-v$maj.$min.$rev  # ==OR== release-$maj.$min
 
diff --git a/rpython/rlib/rposix.py b/rpython/rlib/rposix.py
--- a/rpython/rlib/rposix.py
+++ b/rpython/rlib/rposix.py
@@ -1172,14 +1172,11 @@
         if ok:
             fdread = c_open_osfhandle(hread, 0)
             fdwrite = c_open_osfhandle(hwrite, 1)
-            if fdread == -1 or fdwrite == -1:
-                rwin32.CloseHandle(hread)
-                rwin32.CloseHandle(hwrite)
-                ok = 0
-        if not ok:
-            raise WindowsError(rwin32.GetLastError_saved(),
-                               "CreatePipe failed")
-        return (fdread, fdwrite)
+            if not (fdread == -1 or fdwrite == -1):
+                return (fdread, fdwrite)
+            rwin32.CloseHandle(pread)
+            rwin32.CloseHandle(pwrite)
+        raise WindowsError(rwin32.GetLastError_saved(), "CreatePipe failed")
     else:
         filedes = lltype.malloc(INT_ARRAY_P.TO, 2, flavor='raw')
         try:
@@ -2142,6 +2139,7 @@
 eci_inheritable = eci.merge(ExternalCompilationInfo(
     separate_module_sources=[r"""
 #include <errno.h>
+#include <sys/ioctl.h>
 
 RPY_EXTERN
 int rpy_set_inheritable(int fd, int inheritable)


More information about the pypy-commit mailing list