Я работаю над тестами с использованием ящика 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 происходит, как ожидалось: * Рассматриваемый код.
Тест никогда не завершается. Я что-то упускаю?