From b798b195f4ae5980b863e2257bd24197dd2b0b91 Mon Sep 17 00:00:00 2001 From: Julien Cretin <cretin@google.com> Date: Wed, 18 Mar 2020 11:10:01 +0100 Subject: [PATCH] Return invariant status only and assert in test --- src/embedded_flash/store/mod.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/embedded_flash/store/mod.rs b/src/embedded_flash/store/mod.rs index 4111068..e2ed2fa 100644 --- a/src/embedded_flash/store/mod.rs +++ b/src/embedded_flash/store/mod.rs @@ -771,8 +771,8 @@ impl<C: StoreConfig> Store<BufferStorage, C> { self.initialize_page(page, erase_count); } - /// Checks whether all deleted sensitive entries have been wiped. - pub fn check_wiped(&self) { + /// Returns whether all deleted sensitive entries have been wiped. + pub fn deleted_entries_are_wiped(&self) -> bool { for (_, entry) in Iter::new(self) { if !self.format.is_present(entry) || !self.format.is_deleted(entry) @@ -783,8 +783,11 @@ impl<C: StoreConfig> Store<BufferStorage, C> { } let gap = self.format.entry_gap(entry); let data = gap.slice(entry); - assert!(data.iter().all(|&byte| byte == 0x00)); + if !data.iter().all(|&byte| byte == 0x00) { + return false; + } } + true } } @@ -961,7 +964,7 @@ mod tests { store.delete(index).unwrap(); assert_eq!(store.find_all(&key).count(), 0); assert_eq!(store.iter().count(), 0); - store.check_wiped(); + assert!(store.deleted_entries_are_wiped()); } #[test] -- GitLab