From 415578aa48a12cac01d763b7c08384dbcd46911b Mon Sep 17 00:00:00 2001 From: Determinant Date: Wed, 10 Jun 2020 14:40:36 -0400 Subject: WIP: random failure test (with emulated storage) --- tests/rand_fail.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 tests/rand_fail.rs (limited to 'tests/rand_fail.rs') diff --git a/tests/rand_fail.rs b/tests/rand_fail.rs new file mode 100644 index 0000000..988da05 --- /dev/null +++ b/tests/rand_fail.rs @@ -0,0 +1,25 @@ +#[cfg(test)] + +extern crate growthring; +use growthring::wal::{WALLoader, WALWriter, WALRingId, WALBytes}; + +mod common; + +fn test(records: Vec, wal: &mut WALWriter) -> Box<[WALRingId]> { + let records: Vec = records.into_iter().map(|s| s.into_bytes().into_boxed_slice()).collect(); + let ret = wal.grow(&records); + for ring_id in ret.iter() { + println!("got ring id: {:?}", ring_id); + } + ret +} + +#[test] +fn test_rand_fail() { + let mut state = common::WALStoreEmulState::new(); + let mut wal = WALLoader::new(common::WALStoreEmul::new(&mut state), 9, 8, 1000).recover(); + for _ in 0..3 { + test(["hi", "hello", "lol"].iter().map(|s| s.to_string()).collect::>(), &mut wal); + } + let mut wal = WALLoader::new(common::WALStoreEmul::new(&mut state), 9, 8, 1000).recover(); +} -- cgit v1.2.3