示例#1
0
def test_runs_timeout():
    with pool.PoolExecutor() as executor:
        now = datetime.datetime.now()
        futures = [executor.submit(OurTask("ab", wait=0.5))]
        for key, result in pool.yield_task_results(futures):
            assert key == "ab"
            assert result == "ahgsga"
            assert datetime.datetime.now() - now >= datetime.timedelta(
                seconds=0.5)
示例#2
0
def test_runs_exception():
    with pool.PoolExecutor() as executor:
        futures = [executor.submit(OurTask("ab", ex=RuntimeError()))]
        with pytest.raises(RuntimeError):
            for key, result in pool.yield_task_results(futures):
                pass
示例#3
0
def test_yield_task_results_timeout():
    fut = concurrent.futures.Future()
    fut.set_running_or_notify_cancel()
    with pytest.raises(TimeoutError):
        for x in pool.yield_task_results([fut], 0.1):
            raise AssertionError()
示例#4
0
def test_runs():
    with pool.PoolExecutor() as executor:
        futures = [executor.submit(OurTask("absvs"))]
        for key, result in pool.yield_task_results(futures):
            assert key == "absvs"
            assert result == "ahgsga"
示例#5
0
def test_yield_task_results():
    fut = concurrent.futures.Future()
    fut.set_result(1)
    fut1 = concurrent.futures.Future()
    fut1.set_result(10)
    assert list(pool.yield_task_results([fut, fut1])) == [1, 10]