use tempfile::tempdir for tests
This commit is contained in:
25
src/db.rs
25
src/db.rs
@@ -307,9 +307,8 @@ where
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use rand::RngCore;
|
||||
|
||||
use super::*;
|
||||
use tempfile::tempdir;
|
||||
|
||||
#[derive(bincode::Encode, bincode::Decode, Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
|
||||
struct TestData {
|
||||
@@ -322,10 +321,10 @@ mod test {
|
||||
|
||||
#[test]
|
||||
fn test_write_read() {
|
||||
let mut rng = rand::thread_rng();
|
||||
let tempfile = std::env::temp_dir().with_file_name(format!("test-{}.tmp", rng.next_u32()));
|
||||
let dir = tempdir().expect("tempdir");
|
||||
let tmpfile = dir.path().join("test.tmp");
|
||||
let opts = WriterOpts { compress_lvl: 1, data_buf_size: 10 * 1024 * 1024, out_buf_size: 10 * 1024 * 1024, current_buf_size: 4096 };
|
||||
let mut writer: Writer<TestData> = Writer::new(&tempfile, opts).expect("new writer");
|
||||
let mut writer: Writer<TestData> = Writer::new(&tmpfile, opts).expect("new writer");
|
||||
|
||||
let items_iter = gen_data(5);
|
||||
let items: Vec<TestData> = items_iter.collect();
|
||||
@@ -333,24 +332,21 @@ mod test {
|
||||
writer.load(&mut items.clone().into_iter()).expect("load");
|
||||
writer.finish().expect("finish write");
|
||||
|
||||
let mut reader: Reader<TestData> = Reader::new(&tempfile, 2048).expect("new reader");
|
||||
let mut reader: Reader<TestData> = Reader::new(&tmpfile, 2048).expect("new reader");
|
||||
assert_eq!(items.len(), reader.len());
|
||||
|
||||
for (idx,item) in items.iter().enumerate() {
|
||||
let ritem = reader.get(idx).expect("get");
|
||||
assert_eq!(*item, ritem);
|
||||
}
|
||||
|
||||
let r = fs::remove_file(tempfile);
|
||||
drop(r);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_write_read_iter() {
|
||||
let mut rng = rand::thread_rng();
|
||||
let tempfile = std::env::temp_dir().with_file_name(format!("test-{}.tmp", rng.next_u32()));
|
||||
let dir = tempdir().expect("tempdir");
|
||||
let tmpfile = dir.path().join("test.tmp");
|
||||
let opts = WriterOpts { compress_lvl: 1, data_buf_size: 10 * 1024 * 1024, out_buf_size: 10 * 1024 * 1024, current_buf_size: 4096 };
|
||||
let mut writer: Writer<TestData> = Writer::new(&tempfile, opts).expect("new writer");
|
||||
let mut writer: Writer<TestData> = Writer::new(&tmpfile, opts).expect("new writer");
|
||||
|
||||
let items_iter = gen_data(10);
|
||||
let items: Vec<TestData> = items_iter.collect();
|
||||
@@ -358,14 +354,11 @@ mod test {
|
||||
writer.load(&mut items.clone().into_iter()).expect("load");
|
||||
writer.finish().expect("finish write");
|
||||
|
||||
let mut reader: Reader<TestData> = Reader::new(&tempfile, 2048).expect("new reader");
|
||||
let mut reader: Reader<TestData> = Reader::new(&tmpfile, 2048).expect("new reader");
|
||||
assert_eq!(items.len(), reader.len());
|
||||
|
||||
items.into_iter().zip(reader.iter()).for_each(|pair| {
|
||||
assert_eq!(pair.0, pair.1);
|
||||
});
|
||||
|
||||
let r = fs::remove_file(tempfile);
|
||||
drop(r);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user