From bb3baece7cbc03f98c5c5017d29e54fb5b5340a7 Mon Sep 17 00:00:00 2001 From: thiolliere Date: Wed, 26 Aug 2020 19:50:18 +0200 Subject: [PATCH] fix bench db wipe --- client/db/src/bench.rs | 59 +++++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/client/db/src/bench.rs b/client/db/src/bench.rs index 1c9be87faa0f3..f3c8f1aff9e14 100644 --- a/client/db/src/bench.rs +++ b/client/db/src/bench.rs @@ -178,6 +178,7 @@ impl BenchmarkingState { fn wipe_tracker(&self) { *self.main_key_tracker.borrow_mut() = HashMap::new(); + *self.child_key_tracker.borrow_mut() = HashMap::new(); self.add_whitelist_to_tracker(); *self.read_write_tracker.borrow_mut() = Default::default(); } @@ -512,32 +513,36 @@ mod test { let bench_state = BenchmarkingState::::new(Default::default(), None) .unwrap(); - let child1 = sp_core::storage::ChildInfo::new_default(b"child1"); - let child2 = sp_core::storage::ChildInfo::new_default(b"child2"); - - bench_state.storage(b"foo").unwrap(); - bench_state.child_storage(&child1, b"foo").unwrap(); - bench_state.child_storage(&child2, b"foo").unwrap(); - - bench_state.storage(b"bar").unwrap(); - bench_state.child_storage(&child1, b"bar").unwrap(); - bench_state.child_storage(&child2, b"bar").unwrap(); - - bench_state.commit( - Default::default(), - Default::default(), - vec![ - ("foo".as_bytes().to_vec(), None) - ], - vec![ - ("child1".as_bytes().to_vec(), vec![("foo".as_bytes().to_vec(), None)]) - ] - ).unwrap(); - - let rw_tracker = bench_state.read_write_tracker.borrow(); - assert_eq!(rw_tracker.reads, 6); - assert_eq!(rw_tracker.repeat_reads, 0); - assert_eq!(rw_tracker.writes, 2); - assert_eq!(rw_tracker.repeat_writes, 0); + for _ in 0..2 { + let child1 = sp_core::storage::ChildInfo::new_default(b"child1"); + let child2 = sp_core::storage::ChildInfo::new_default(b"child2"); + + bench_state.storage(b"foo").unwrap(); + bench_state.child_storage(&child1, b"foo").unwrap(); + bench_state.child_storage(&child2, b"foo").unwrap(); + + bench_state.storage(b"bar").unwrap(); + bench_state.child_storage(&child1, b"bar").unwrap(); + bench_state.child_storage(&child2, b"bar").unwrap(); + + bench_state.commit( + Default::default(), + Default::default(), + vec![ + ("foo".as_bytes().to_vec(), None) + ], + vec![ + ("child1".as_bytes().to_vec(), vec![("foo".as_bytes().to_vec(), None)]) + ] + ).unwrap(); + + let rw_tracker = bench_state.read_write_tracker.borrow(); + assert_eq!(rw_tracker.reads, 6); + assert_eq!(rw_tracker.repeat_reads, 0); + assert_eq!(rw_tracker.writes, 2); + assert_eq!(rw_tracker.repeat_writes, 0); + drop(rw_tracker); + bench_state.wipe().unwrap(); + } } }