示例#1
0
    def test_no_timeout(self):
        future1 = self.executor.submit(mul, 2, 21)
        future2 = self.executor.submit(mul, 7, 6)

        completed = set(futures.as_completed([CANCELLED_AND_NOTIFIED_FUTURE,
                                              EXCEPTION_FUTURE,
                                              SUCCESSFUL_FUTURE,
                                              future1, future2]))
        assert set([CANCELLED_AND_NOTIFIED_FUTURE, EXCEPTION_FUTURE,
                    SUCCESSFUL_FUTURE, future1, future2]) == completed
示例#2
0
    def test_zero_timeout(self):
        future1 = self.executor.submit(time.sleep, 2)
        completed_futures = set()
        with pytest.raises(futures.TimeoutError):
            for future in futures.as_completed([
                    CANCELLED_AND_NOTIFIED_FUTURE, EXCEPTION_FUTURE,
                    SUCCESSFUL_FUTURE, future1
            ],
                                               timeout=0):
                completed_futures.add(future)

        assert set([
            CANCELLED_AND_NOTIFIED_FUTURE, EXCEPTION_FUTURE, SUCCESSFUL_FUTURE
        ]) == completed_futures
示例#3
0
    def test_zero_timeout(self, exit_on_deadlock):
        future1 = self.executor.submit(time.sleep, 2)
        completed_futures = set()
        try:
            for future in futures.as_completed([
                    CANCELLED_AND_NOTIFIED_FUTURE, EXCEPTION_FUTURE,
                    SUCCESSFUL_FUTURE, future1
            ],
                                               timeout=0):
                completed_futures.add(future)
        except futures.TimeoutError:
            pass

        assert set([
            CANCELLED_AND_NOTIFIED_FUTURE, EXCEPTION_FUTURE, SUCCESSFUL_FUTURE
        ]) == completed_futures
示例#4
0
 def test_duplicate_futures(self):
     # Issue 20367. Duplicate futures should not raise exceptions or give
     # duplicate responses.
     future1 = self.executor.submit(time.sleep, .1)
     completed = [f for f in futures.as_completed([future1, future1])]
     assert len(completed) == 1