[pypy-commit] pypy py3.5: merge heads
rlamy
pypy.commits at gmail.com
Fri Oct 14 06:02:23 EDT 2016
Author: Ronan Lamy <ronan.lamy at gmail.com>
Branch: py3.5
Changeset: r87779:ed4f8611d06a
Date: 2016-10-14 12:01 +0200
http://bitbucket.org/pypy/pypy/changeset/ed4f8611d06a/
Log: merge heads
diff --git a/pypy/module/_multiprocessing/interp_semaphore.py b/pypy/module/_multiprocessing/interp_semaphore.py
--- a/pypy/module/_multiprocessing/interp_semaphore.py
+++ b/pypy/module/_multiprocessing/interp_semaphore.py
@@ -519,9 +519,10 @@
self.count = 0
@unwrap_spec(kind=int, maxvalue=int)
- def rebuild(space, w_cls, w_handle, kind, maxvalue):
+ def rebuild(space, w_cls, w_handle, kind, maxvalue, w_name):
+ name = space.str_or_None_w(w_name)
self = space.allocate_instance(W_SemLock, w_cls)
- self.__init__(space, handle_w(space, w_handle), kind, maxvalue)
+ self.__init__(space, handle_w(space, w_handle), kind, maxvalue, name)
return space.wrap(self)
def enter(self, space):
diff --git a/pypy/module/_multiprocessing/test/test_semaphore.py b/pypy/module/_multiprocessing/test/test_semaphore.py
--- a/pypy/module/_multiprocessing/test/test_semaphore.py
+++ b/pypy/module/_multiprocessing/test/test_semaphore.py
@@ -35,7 +35,7 @@
maxvalue = 1
# the following line gets OSError: [Errno 38] Function not implemented
# if /dev/shm is not mounted on Linux
- sem = SemLock(kind, value, maxvalue)
+ sem = SemLock(kind, value, maxvalue, "1", False)
assert sem.kind == kind
assert sem.maxvalue == maxvalue
assert isinstance(sem.handle, int)
@@ -68,7 +68,7 @@
maxvalue = 1
# the following line gets OSError: [Errno 38] Function not implemented
# if /dev/shm is not mounted on Linux
- sem = SemLock(kind, value, maxvalue)
+ sem = SemLock(kind, value, maxvalue, "2", False)
sem.acquire()
sem.release()
@@ -88,7 +88,7 @@
kind = self.SEMAPHORE
value = 1
maxvalue = 1
- sem = SemLock(kind, value, maxvalue)
+ sem = SemLock(kind, value, maxvalue, "3", False)
res = sem.acquire()
assert res == True
@@ -100,9 +100,9 @@
kind = self.SEMAPHORE
value = 1
maxvalue = 1
- sem = SemLock(kind, value, maxvalue)
+ sem = SemLock(kind, value, maxvalue, "4", False)
- sem2 = SemLock._rebuild(sem.handle, kind, value)
+ sem2 = SemLock._rebuild(sem.handle, kind, value, "10")
assert sem.handle == sem2.handle
def test_semaphore_contextmanager(self):
@@ -110,7 +110,7 @@
kind = self.SEMAPHORE
value = 1
maxvalue = 1
- sem = SemLock(kind, value, maxvalue)
+ sem = SemLock(kind, value, maxvalue, "5", False)
with sem:
assert sem._count() == 1
diff --git a/pypy/module/posix/interp_scandir.py b/pypy/module/posix/interp_scandir.py
--- a/pypy/module/posix/interp_scandir.py
+++ b/pypy/module/posix/interp_scandir.py
@@ -284,8 +284,11 @@
@unwrap_spec(follow_symlinks=bool)
def descr_stat(self, space, __kwonly__, follow_symlinks=True):
"""return stat_result object for the entry; cached per entry"""
- st = self.get_stat_or_lstat(follow_symlinks)
- return build_stat_result(self.space, st)
+ try:
+ st = self.get_stat_or_lstat(follow_symlinks)
+ except OSError as e:
+ raise wrap_oserror2(space, e, self.fget_path(space))
+ return build_stat_result(space, st)
def descr_inode(self, space):
return space.wrap(self.inode)
diff --git a/pypy/module/posix/test/test_scandir.py b/pypy/module/posix/test/test_scandir.py
--- a/pypy/module/posix/test/test_scandir.py
+++ b/pypy/module/posix/test/test_scandir.py
@@ -145,6 +145,7 @@
assert not d.is_file()
assert not d.is_dir()
assert d.is_symlink()
+ raises(OSError, d.stat)
def test_dir6(self):
posix = self.posix
More information about the pypy-commit
mailing list