From 720b67396f249f870cdfa68162bafee15eca3b40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois?= Date: Wed, 5 Oct 2022 16:34:55 +0000 Subject: [PATCH] flaky test: put panicking system in a single threaded stage (#6172) # Objective - Fix #5285 ## Solution - Put the panicking system in a single threaded stage during the test - This way only the main thread will panic, which is handled by `cargo test` --- crates/bevy_transform/src/systems.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/crates/bevy_transform/src/systems.rs b/crates/bevy_transform/src/systems.rs index 6b802f585b..1d1c5cff45 100644 --- a/crates/bevy_transform/src/systems.rs +++ b/crates/bevy_transform/src/systems.rs @@ -318,7 +318,10 @@ mod test { let mut temp = World::new(); let mut app = App::new(); - app.add_system(transform_propagate_system); + // Adding the system in a single threaded stage. As the system will panic, this will + // only bring down the current test thread. + app.add_stage("single", SystemStage::single_threaded()) + .add_system_to_stage("single", transform_propagate_system); fn setup_world(world: &mut World) -> (Entity, Entity) { let mut grandchild = Entity::from_raw(0);