fix generational box tests

This commit is contained in:
Evan Almloff committed 2023-08-21 15:00:31 -05:00
1 parent f09a2e2280
commit 18f8daf0bd
2 files changed
+10 -5

No files matched your search

+2
View File
@@ -11,6 +11,8 @@ Three main types manage state in Generational Box:
Example: Example:
```rust ```rust
use generational_box::Store;
// Create a store for this thread // Create a store for this thread
let store = Store::default(); let store = Store::default();
+8 -5
View File
@@ -32,12 +32,12 @@ fn reused() {
let first_ptr; let first_ptr;
{ {
let owner = store.owner(); let owner = store.owner();
first_ptr = owner.insert(1).raw.data.as_ptr(); first_ptr = owner.insert(1).raw.0.data.as_ptr();
drop(owner); drop(owner);
} }
{ {
let owner = store.owner(); let owner = store.owner();
let second_ptr = owner.insert(1234).raw.data.as_ptr(); let second_ptr = owner.insert(1234).raw.0.data.as_ptr();
assert_eq!(first_ptr, second_ptr); assert_eq!(first_ptr, second_ptr);
drop(owner); drop(owner);
} }
@@ -56,7 +56,10 @@ fn leaking_is_ok() {
// don't drop the owner // don't drop the owner
std::mem::forget(owner); std::mem::forget(owner);
} }
assert_eq!(key.try_read().as_deref(), Some(&"hello world".to_string())); assert_eq!(
key.try_read().as_deref().unwrap(),
&"hello world".to_string()
);
} }
#[test] #[test]
@@ -71,7 +74,7 @@ fn drops() {
key = owner.insert(data); key = owner.insert(data);
// drop the owner // drop the owner
} }
assert!(key.try_read().is_none()); assert!(key.try_read().is_err());
} }
#[test] #[test]
@@ -132,7 +135,7 @@ fn fuzz() {
println!("{:?}", path); println!("{:?}", path);
for key in valid_keys.iter() { for key in valid_keys.iter() {
let value = key.read(); let value = key.read();
println!("{:?}", value); println!("{:?}", &*value);
assert!(value.starts_with("hello world")); assert!(value.starts_with("hello world"));
} }
#[cfg(any(debug_assertions, feature = "check_generation"))] #[cfg(any(debug_assertions, feature = "check_generation"))]