Пример #1
0
 def cb(result_flag, result_coro):
     global var, callback_count
     if (result_flag == CoroStatus.Completed):
         if not var:
             var = result_coro
         var = var[callback_count:]
         callback_count -= 1
         if callback_count:
             run_coro(coroutine(), callback=cb)
Пример #2
0
def test_timeout_coro():
    coro_id = run_coro(coroutine(5), timeout=1)
    result_flag, result = CoroStatus.Queued, None
    while result_flag == CoroStatus.Queued:
        result_flag, result = check_result(coro_id)
    assert result is None
    assert result_flag == CoroStatus.Timeout
Пример #3
0
def test_callback():
    def cb(result_flag, result_coro):
        global var, callback_count
        if (result_flag == CoroStatus.Completed):
            if not var:
                var = result_coro
            var = var[callback_count:]
            callback_count -= 1
            if callback_count:
                run_coro(coroutine(), callback=cb)

    run_coro(coroutine(), callback=cb)

    while callback_count:
        pass
    assert var == "World"
Пример #4
0
def test_unblocked_async_coro():
    coro_id = run_coro(coroutine())
    result_flag, result = CoroStatus.Queued, None
    while result_flag == CoroStatus.Queued:
        result_flag, result = check_result(coro_id)
    assert result == "Hello World"
    assert result_flag == CoroStatus.Completed
Пример #5
0
def test_coro_raise_exception():
    result = run_coro(coroutine(raise_exception=True), block=True)
    assert result[0] == CoroStatus.CoroutineException
Пример #6
0
def test_cancel_coroutine():
    coro_id = run_coro(coroutine(1))
    cancel_coro(coro_id)
    result_flag, result = check_result(coro_id)
    assert result is None
    assert result_flag == CoroStatus.Cancelled
Пример #7
0
def test_blocked_coro():
    result = run_coro(coroutine(), block=True)
    assert result[0] == CoroStatus.Completed
    assert result[1] == "Hello World"