Почему тестовый поток использует actix- lua pani c, как ожидалось, но тест никогда не завершается? - PullRequest
1 голос
/ 01 августа 2020

Я работаю над тестами с использованием ящика actix- lua:

#[should_panic]
#[test]
fn lua_actor_user_error() {
    let system = System::new("test");

    let lua_addr = lua_actor_with_handle(
        r#"
    print("before")
    error("foo")
    print("after")
    "#,
    )
    .start();

    let l = lua_addr.send(LuaMessage::from(0));
    let fut = async move {
        let res = l.await;
        match res {
            Ok(_res) => {
                // it should panic. 
                // and it does, but it seems the test does not pass
                // running 1 test
                // thread 'actor::tests::lua_actor_user_error' panicked at ... src/actor.rs:205:31
                System::current().stop();
            }
            Err(e) => {
                println!("actor dead {}", e);
            }
        };
    };
    Arbiter::spawn(fut);
    
    system.run();
}

Из вывода я вижу, что pani c происходит, как ожидалось: * Рассматриваемый код.

Тест никогда не завершается. Я что-то упускаю?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...