diff --git a/src/runtime2/tests/sync_failure.rs b/src/runtime2/tests/sync_failure.rs index 392b8a22fa18fbf5c6fe934059189f7bfd84bea9..f3acdabcf1fbbd962ce73e7fe41de47edde701db 100644 --- a/src/runtime2/tests/sync_failure.rs +++ b/src/runtime2/tests/sync_failure.rs @@ -36,7 +36,9 @@ fn test_local_sync_failure() { #[test] fn test_shared_sync_failure() { // Same as above. One of the components should fail, the other should follow - // suit because it cannot complete a sync round. + // suit because it cannot complete a sync round. We intentionally have an + // infinite loop in the while condition because we need at least two loops + // for the last error to get picked up. const CODE: &'static str = " enum Location { BeforeSync, AfterPut, AfterGet, AfterSync, Never } primitive failing_at_location(in input, out output, Location loc) { @@ -63,7 +65,7 @@ fn test_shared_sync_failure() { "; run_test_in_runtime(CODE, |api| { - for variant in 0..1 { + for variant in 0..4 { // all `Location` enum variants, except `Never`. // Create the channels api.create_connector("", "constructor", ValueGroup::new_stack(vec![ Value::Enum(variant)