diff --git a/src/crdt.rs b/src/crdt.rs index 63c71be48..ad0e7a374 100644 --- a/src/crdt.rs +++ b/src/crdt.rs @@ -1912,7 +1912,7 @@ mod tests { fn tmp_ledger(name: &str) -> String { use std::env; - let out_dir = env::var("OUT_DIR").unwrap(); + let out_dir = env::var("OUT_DIR").unwrap_or_else(|_| "target".to_string()); let keypair = Keypair::new(); let path = format!("{}/tmp-ledger-{}-{}", out_dir, name, keypair.pubkey()); diff --git a/src/drone.rs b/src/drone.rs index 4d94ccd60..e3b847708 100644 --- a/src/drone.rs +++ b/src/drone.rs @@ -261,7 +261,7 @@ mod tests { fn tmp_ledger_path(name: &str) -> String { use std::env; - let out_dir = env::var("OUT_DIR").unwrap(); + let out_dir = env::var("OUT_DIR").unwrap_or_else(|_| "target".to_string()); let keypair = Keypair::new(); format!("{}/tmp-ledger-{}-{}", out_dir, name, keypair.pubkey()) diff --git a/src/ledger.rs b/src/ledger.rs index e585f8315..6181d6817 100644 --- a/src/ledger.rs +++ b/src/ledger.rs @@ -550,7 +550,7 @@ mod tests { fn tmp_ledger_path(name: &str) -> String { use std::env; - let out_dir = env::var("OUT_DIR").unwrap(); + let out_dir = env::var("OUT_DIR").unwrap_or_else(|_| "target".to_string()); let keypair = Keypair::new(); format!("{}/tmp-ledger-{}-{}", out_dir, name, keypair.pubkey()) diff --git a/src/packet.rs b/src/packet.rs index cd4fefa51..37062b81e 100644 --- a/src/packet.rs +++ b/src/packet.rs @@ -26,7 +26,7 @@ pub const BLOB_DATA_SIZE: usize = BLOB_SIZE - BLOB_HEADER_SIZE; pub const PACKET_DATA_SIZE: usize = 256; pub const NUM_BLOBS: usize = (NUM_PACKETS * PACKET_DATA_SIZE) / BLOB_SIZE; -#[derive(Clone, Default, Debug)] +#[derive(Clone, Default, Debug, PartialEq)] #[repr(C)] pub struct Meta { pub size: usize, @@ -493,7 +493,8 @@ impl Blob { #[cfg(test)] mod tests { use packet::{ - to_packets, Blob, BlobRecycler, Packet, PacketRecycler, Packets, Recycler, NUM_PACKETS, + to_packets, Blob, BlobRecycler, Meta, Packet, PacketRecycler, Packets, Recycle, Recycler, + BLOB_HEADER_SIZE, NUM_PACKETS, }; use request::Request; use std::collections::VecDeque; @@ -512,6 +513,12 @@ mod tests { assert_eq!(r.gc.lock().unwrap().len(), 0); } + impl Recycle for u8 { + fn reset(&mut self) { + *self = Default::default(); + } + } + #[test] pub fn test_leaked_recyclable() { // Ensure that the recycler won't return an item @@ -649,6 +656,9 @@ mod tests { b.data_mut()[0] = 1; assert_eq!(b.data()[0], 1); assert_eq!(b.get_index().unwrap(), ::max_value()); + b.reset(); + assert!(b.data[..BLOB_HEADER_SIZE].starts_with(&[0u8; BLOB_HEADER_SIZE])); + assert_eq!(b.meta, Meta::default()); } } diff --git a/src/thin_client.rs b/src/thin_client.rs index 01b5e5f56..47c417140 100755 --- a/src/thin_client.rs +++ b/src/thin_client.rs @@ -332,7 +332,7 @@ mod tests { fn tmp_ledger(name: &str, mint: &Mint) -> String { use std::env; - let out_dir = env::var("OUT_DIR").unwrap(); + let out_dir = env::var("OUT_DIR").unwrap_or_else(|_| "target".to_string()); let keypair = Keypair::new(); let path = format!("{}/tmp-ledger-{}-{}", out_dir, name, keypair.pubkey());