From 7aa56588a18308d6b449f737a8e62eac137ce7f9 Mon Sep 17 00:00:00 2001 From: Benjamin Woodruff Date: Tue, 16 Jul 2024 14:23:37 -0700 Subject: [PATCH] Add unit test for overflow detection --- crates/turbo-tasks/src/id_factory.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/crates/turbo-tasks/src/id_factory.rs b/crates/turbo-tasks/src/id_factory.rs index 0c9b0441f8e85..1abce319654b2 100644 --- a/crates/turbo-tasks/src/id_factory.rs +++ b/crates/turbo-tasks/src/id_factory.rs @@ -98,3 +98,21 @@ where let _ = self.free_ids.push(id); } } + +#[cfg(test)] +mod tests { + use std::num::NonZeroU8; + + use super::*; + + #[test] + #[should_panic(expected = "Overflow detected")] + fn test_overflow() { + let factory = IdFactory::::new(); + assert_eq!(factory.get(), NonZeroU8::new(1).unwrap()); + assert_eq!(factory.get(), NonZeroU8::new(2).unwrap()); + for _i in 2..256 { + factory.get(); + } + } +}