mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
Merge
This commit is contained in:
commit
36920354c7
3 changed files with 11 additions and 10 deletions
|
@ -115,7 +115,7 @@ Notes on using :class:`Set` and :class:`MutableSet` as a mixin:
|
||||||
That assumption is factored-out to an internal classmethod called
|
That assumption is factored-out to an internal classmethod called
|
||||||
:meth:`_from_iterable` which calls ``cls(iterable)`` to produce a new set.
|
:meth:`_from_iterable` which calls ``cls(iterable)`` to produce a new set.
|
||||||
If the :class:`Set` mixin is being used in a class with a different
|
If the :class:`Set` mixin is being used in a class with a different
|
||||||
constructor signature, you will need to override :meth:`from_iterable`
|
constructor signature, you will need to override :meth:`_from_iterable`
|
||||||
with a classmethod that can construct new instances from
|
with a classmethod that can construct new instances from
|
||||||
an iterable argument.
|
an iterable argument.
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
|
||||||
:mod:`collections` --- Container datatypes
|
:mod:`collections` --- Container datatypes
|
||||||
==========================================
|
==========================================
|
||||||
|
|
||||||
|
|
|
@ -155,7 +155,7 @@ class ProcessPoolShutdownTest(ProcessPoolMixin, ExecutorShutdownTest):
|
||||||
class WaitTests(unittest.TestCase):
|
class WaitTests(unittest.TestCase):
|
||||||
def test_first_completed(self):
|
def test_first_completed(self):
|
||||||
future1 = self.executor.submit(mul, 21, 2)
|
future1 = self.executor.submit(mul, 21, 2)
|
||||||
future2 = self.executor.submit(time.sleep, 5)
|
future2 = self.executor.submit(time.sleep, 1.5)
|
||||||
|
|
||||||
done, not_done = futures.wait(
|
done, not_done = futures.wait(
|
||||||
[CANCELLED_FUTURE, future1, future2],
|
[CANCELLED_FUTURE, future1, future2],
|
||||||
|
@ -165,7 +165,7 @@ class WaitTests(unittest.TestCase):
|
||||||
self.assertEqual(set([CANCELLED_FUTURE, future2]), not_done)
|
self.assertEqual(set([CANCELLED_FUTURE, future2]), not_done)
|
||||||
|
|
||||||
def test_first_completed_some_already_completed(self):
|
def test_first_completed_some_already_completed(self):
|
||||||
future1 = self.executor.submit(time.sleep, 2)
|
future1 = self.executor.submit(time.sleep, 1.5)
|
||||||
|
|
||||||
finished, pending = futures.wait(
|
finished, pending = futures.wait(
|
||||||
[CANCELLED_AND_NOTIFIED_FUTURE, SUCCESSFUL_FUTURE, future1],
|
[CANCELLED_AND_NOTIFIED_FUTURE, SUCCESSFUL_FUTURE, future1],
|
||||||
|
@ -178,8 +178,8 @@ class WaitTests(unittest.TestCase):
|
||||||
|
|
||||||
def test_first_exception(self):
|
def test_first_exception(self):
|
||||||
future1 = self.executor.submit(mul, 2, 21)
|
future1 = self.executor.submit(mul, 2, 21)
|
||||||
future2 = self.executor.submit(sleep_and_raise, 5)
|
future2 = self.executor.submit(sleep_and_raise, 1.5)
|
||||||
future3 = self.executor.submit(time.sleep, 10)
|
future3 = self.executor.submit(time.sleep, 3)
|
||||||
|
|
||||||
finished, pending = futures.wait(
|
finished, pending = futures.wait(
|
||||||
[future1, future2, future3],
|
[future1, future2, future3],
|
||||||
|
@ -190,7 +190,7 @@ class WaitTests(unittest.TestCase):
|
||||||
|
|
||||||
def test_first_exception_some_already_complete(self):
|
def test_first_exception_some_already_complete(self):
|
||||||
future1 = self.executor.submit(divmod, 21, 0)
|
future1 = self.executor.submit(divmod, 21, 0)
|
||||||
future2 = self.executor.submit(time.sleep, 5)
|
future2 = self.executor.submit(time.sleep, 1.5)
|
||||||
|
|
||||||
finished, pending = futures.wait(
|
finished, pending = futures.wait(
|
||||||
[SUCCESSFUL_FUTURE,
|
[SUCCESSFUL_FUTURE,
|
||||||
|
@ -235,14 +235,14 @@ class WaitTests(unittest.TestCase):
|
||||||
|
|
||||||
def test_timeout(self):
|
def test_timeout(self):
|
||||||
future1 = self.executor.submit(mul, 6, 7)
|
future1 = self.executor.submit(mul, 6, 7)
|
||||||
future2 = self.executor.submit(time.sleep, 10)
|
future2 = self.executor.submit(time.sleep, 3)
|
||||||
|
|
||||||
finished, pending = futures.wait(
|
finished, pending = futures.wait(
|
||||||
[CANCELLED_AND_NOTIFIED_FUTURE,
|
[CANCELLED_AND_NOTIFIED_FUTURE,
|
||||||
EXCEPTION_FUTURE,
|
EXCEPTION_FUTURE,
|
||||||
SUCCESSFUL_FUTURE,
|
SUCCESSFUL_FUTURE,
|
||||||
future1, future2],
|
future1, future2],
|
||||||
timeout=5,
|
timeout=1.5,
|
||||||
return_when=futures.ALL_COMPLETED)
|
return_when=futures.ALL_COMPLETED)
|
||||||
|
|
||||||
self.assertEqual(set([CANCELLED_AND_NOTIFIED_FUTURE,
|
self.assertEqual(set([CANCELLED_AND_NOTIFIED_FUTURE,
|
||||||
|
@ -332,8 +332,8 @@ class ExecutorTest(unittest.TestCase):
|
||||||
results = []
|
results = []
|
||||||
try:
|
try:
|
||||||
for i in self.executor.map(time.sleep,
|
for i in self.executor.map(time.sleep,
|
||||||
[0, 0, 10],
|
[0, 0, 3],
|
||||||
timeout=5):
|
timeout=1.5):
|
||||||
results.append(i)
|
results.append(i)
|
||||||
except futures.TimeoutError:
|
except futures.TimeoutError:
|
||||||
pass
|
pass
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue