aboutsummaryrefslogtreecommitdiff
path: root/azalea-client/src/test_utils/simulation.rs
diff options
context:
space:
mode:
authormat <git@matdoes.dev>2025-12-22 21:43:54 -1400
committermat <git@matdoes.dev>2025-12-22 21:43:54 -1400
commit82e3d46ca319badcbc584cf902aeebcbd30948b9 (patch)
tree4afb8c6135caacbdf9f1f04d451cb2bae1c488b6 /azalea-client/src/test_utils/simulation.rs
parent0429a81d706da7c45600d357f9f9a14cef6113b4 (diff)
downloadazalea-drasl-82e3d46ca319badcbc584cf902aeebcbd30948b9.tar.xz
run azalea-client integration tests as one binary
per https://corrode.dev/blog/tips-for-faster-rust-compile-times/\#combine-all-integration-tests-into-a-single-binary <3
Diffstat (limited to 'azalea-client/src/test_utils/simulation.rs')
-rw-r--r--azalea-client/src/test_utils/simulation.rs16
1 files changed, 10 insertions, 6 deletions
diff --git a/azalea-client/src/test_utils/simulation.rs b/azalea-client/src/test_utils/simulation.rs
index 5a1c9c52..a6bc22ab 100644
--- a/azalea-client/src/test_utils/simulation.rs
+++ b/azalea-client/src/test_utils/simulation.rs
@@ -57,8 +57,9 @@ pub struct Simulation {
}
impl Simulation {
- pub fn new(initial_connection_protocol: ConnectionProtocol) -> Self {
+ pub fn new(conn_protocol: ConnectionProtocol) -> Self {
let mut app = create_simulation_app();
+
let mut entity = app.world_mut().spawn_empty();
let (player, rt) =
create_local_player_bundle(entity.id(), ConnectionProtocol::Configuration);
@@ -78,7 +79,7 @@ impl Simulation {
let mut simulation = Self { app, entity, rt };
#[allow(clippy::single_match)]
- match initial_connection_protocol {
+ match conn_protocol {
ConnectionProtocol::Configuration => {}
ConnectionProtocol::Game => {
simulation.receive_packet(ClientboundRegistryData {
@@ -97,7 +98,7 @@ impl Simulation {
simulation.receive_packet(ClientboundFinishConfiguration);
simulation.tick();
}
- _ => unimplemented!("unsupported ConnectionProtocol {initial_connection_protocol:?}"),
+ _ => unimplemented!("unsupported ConnectionProtocol {conn_protocol:?}"),
}
simulation
@@ -300,10 +301,13 @@ fn create_local_player_bundle(
fn create_simulation_app() -> App {
let mut app = App::new();
+ let mut plugins = bevy_app::PluginGroup::build(crate::DefaultPlugins);
#[cfg(feature = "log")]
- app.add_plugins(
- bevy_app::PluginGroup::build(crate::DefaultPlugins).disable::<bevy_log::LogPlugin>(),
- );
+ {
+ plugins = plugins.disable::<bevy_log::LogPlugin>();
+ }
+
+ app.add_plugins(plugins);
app.edit_schedule(bevy_app::Main, |schedule| {
// makes test results more reproducible