Skip to content

Commit 57cc9ba

Browse files
committed
Add tests verifying that deletion also fails with a top-level store error
Signed-off-by: Victor Porof <[email protected]>
1 parent 33b85a5 commit 57cc9ba

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

src/env.rs

+26
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,19 @@ mod tests {
617617
}
618618
}
619619

620+
#[test]
621+
#[should_panic(expected = "KeyValuePairNotFound")]
622+
fn test_single_store_delete_nonexistent() {
623+
let root = Builder::new().prefix("test_single_store_delete_nonexistent").tempdir().expect("tempdir");
624+
fs::create_dir_all(root.path()).expect("dir created");
625+
626+
let k = Rkv::new::<backend::Lmdb>(root.path()).expect("new succeeded");
627+
let sk = k.open_single("sk", StoreOptions::create()).expect("opened");
628+
629+
let mut writer = k.write().expect("writer");
630+
sk.delete(&mut writer, "bogus").unwrap();
631+
}
632+
620633
#[test]
621634
fn test_multi_put_get_del() {
622635
let root = Builder::new().prefix("test_multi_put_get_del").tempdir().expect("tempdir");
@@ -1646,6 +1659,19 @@ mod tests_safe {
16461659
}
16471660
}
16481661

1662+
#[test]
1663+
#[should_panic(expected = "KeyValuePairNotFound")]
1664+
fn test_single_store_delete_nonexistent_safe() {
1665+
let root = Builder::new().prefix("test_single_store_delete_nonexistent_safe").tempdir().expect("tempdir");
1666+
fs::create_dir_all(root.path()).expect("dir created");
1667+
1668+
let k = Rkv::new::<SafeMode>(root.path()).expect("new succeeded");
1669+
let sk = k.open_single("sk", StoreOptions::create()).expect("opened");
1670+
1671+
let mut writer = k.write().expect("writer");
1672+
sk.delete(&mut writer, "bogus").unwrap();
1673+
}
1674+
16491675
#[test]
16501676
fn test_multi_put_get_del_safe() {
16511677
let root = Builder::new().prefix("test_multi_put_get_del_safe").tempdir().expect("tempdir");

0 commit comments

Comments
 (0)