mod test_app;
use std::env;
use std::sync::LazyLock;
use bevy::log::tracing_subscriber;
use test_app::Msg as M1;
use test_app::Msg2 as M2;
use test_app::TestApp as TA;
use tracing::info;
static LOG: LazyLock<()> = LazyLock::new(|| {
if env::var("LOG").is_ok() {
tracing_subscriber::fmt()
.with_env_filter("info,bevy_connect=trace,tubes=trace")
.init();
}
});
#[test]
fn test_broadcasts_plain() {
let () = &*LOG;
let mut tg = TA::new_triple(6000);
tg.test_all_clients_joined();
tg.test_message_all_combos(&M2 {
data: vec![1; 1_000_000],
});
tg.wait_a_while();
tg.test_message_p2p(&M1 { value: 1 });
tg.test_message_p2p(&M1 { value: 1 });
tg.test_message_all_combos(&M1 { value: 1 });
tg.test_message_all_combos(&M1 { value: 1 });
}
#[test]
fn test_promotion() {
let () = &*LOG;
let mut tg = TA::new_triple(6100);
tg.test_all_clients_joined();
tg.test_disconnect::<M2>();
tg.test_promote_new_host(6104);
tg.test_message_p2p(&M1 { value: 1 });
tg.test_message_p2p(&M1 { value: 1 });
tg.test_message_all_combos(&M1 { value: 1 });
tg.test_message_all_combos(&M1 { value: 1 });
}
#[test]
fn test_reconnection_plain() {
let () = &*LOG;
let mut tg = TA::new_triple(6010);
tg.test_all_clients_joined();
tg.disconnect_one_client();
info!("Disconnected one client");
tg.connect_new_client();
info!("Connected new client");
tg.test_message_all_combos(&M1 { value: 1 });
tg.test_message_all_combos(&M1 { value: 1 });
}
#[test]
fn test_broadcasts_comp_enc() {
let () = &*LOG;
let mut tg = TA::new_triple_comp_enc(6020);
tg.test_all_clients_joined();
tg.test_message_all_combos(&M2 {
data: vec![1; 1_000_000],
});
tg.wait_a_while();
tg.test_message_p2p(&M1 { value: 1 });
tg.test_message_p2p(&M1 { value: 1 });
tg.test_message_all_combos(&M1 { value: 1 });
tg.test_message_all_combos(&M1 { value: 1 });
}
#[test]
fn test_reconnection_comp_enc() {
let () = &*LOG;
let mut tg = TA::new_triple_comp_enc(6030);
tg.test_all_clients_joined();
tg.disconnect_one_client();
info!("Disconnected one client");
tg.connect_new_client_comp_enc();
info!("Connected new client");
tg.test_message_all_combos(&M1 { value: 1 });
tg.test_message_all_combos(&M1 { value: 1 });
}