Skip to content

Commit 16f1913

Browse files
committed
import: refactor, move engine::tests::new_engine into test_helpers
Let other tests using the same pattern reuse this function. Signed-off-by: kennytm <[email protected]>
1 parent 7cf147f commit 16f1913

File tree

4 files changed

+21
-27
lines changed

4 files changed

+21
-27
lines changed

src/import/engine.rs

+3-11
Original file line numberDiff line numberDiff line change
@@ -374,20 +374,12 @@ mod tests {
374374
use std::io::{self, Write};
375375
use tempdir::TempDir;
376376

377+
use crate::import::test_helpers::new_engine;
377378
use crate::raftstore::store::RegionSnapshot;
378379
use crate::storage::mvcc::MvccReader;
379380
use engine::rocks::util::security::encrypted_env_from_cipher_file;
380381
use tikv_util::file::file_exists;
381382

382-
fn new_engine() -> (TempDir, Engine) {
383-
let dir = TempDir::new("test_import_engine").unwrap();
384-
let uuid = Uuid::new_v4();
385-
let db_cfg = DbConfig::default();
386-
let security_cfg = SecurityConfig::default();
387-
let engine = Engine::new(dir.path(), uuid, db_cfg, security_cfg).unwrap();
388-
(dir, engine)
389-
}
390-
391383
fn new_write_batch(n: u8, ts: u64) -> WriteBatch {
392384
let mut wb = WriteBatch::new();
393385
for i in 0..n {
@@ -407,7 +399,7 @@ mod tests {
407399

408400
#[test]
409401
fn test_write() {
410-
let (_dir, engine) = new_engine();
402+
let (_dir, engine) = new_engine("test_write");
411403

412404
let n = 10;
413405
let commit_ts = 10;
@@ -517,7 +509,7 @@ mod tests {
517509

518510
#[test]
519511
fn test_approximate_ranges() {
520-
let (_dir, engine) = new_engine();
512+
let (_dir, engine) = new_engine("test_approximate_ranges");
521513

522514
let num_files = 3;
523515
let num_entries = 3;

src/import/prepare.rs

+2-9
Original file line numberDiff line numberDiff line change
@@ -323,12 +323,8 @@ mod tests {
323323
use crate::import::test_helpers::*;
324324

325325
use engine::rocks::Writable;
326-
use tempdir::TempDir;
327-
use uuid::Uuid;
328326

329-
use crate::config::DbConfig;
330327
use crate::storage::types::Key;
331-
use tikv_util::security::SecurityConfig;
332328

333329
fn new_encoded_key(k: &[u8]) -> Vec<u8> {
334330
if k.is_empty() {
@@ -340,11 +336,8 @@ mod tests {
340336

341337
#[test]
342338
fn test_prepare_job() {
343-
let dir = TempDir::new("test_import_prepare_job").unwrap();
344-
let uuid = Uuid::new_v4();
345-
let db_cfg = DbConfig::default();
346-
let security_cfg = SecurityConfig::default();
347-
let engine = Arc::new(Engine::new(dir.path(), uuid, db_cfg, security_cfg).unwrap());
339+
let (_dir, engine) = new_engine("test_import_prepare_job");
340+
let engine = Arc::new(engine);
348341

349342
// Generate entries to prepare.
350343
let (n, m) = (4, 4);

src/import/stream.rs

+2-7
Original file line numberDiff line numberDiff line change
@@ -199,9 +199,7 @@ mod tests {
199199
use engine::rocks::{DBIterator, DBOptions, ReadOptions, Writable, DB};
200200
use tempdir::TempDir;
201201

202-
use crate::config::DbConfig;
203202
use crate::storage::types::Key;
204-
use tikv_util::security::SecurityConfig;
205203

206204
fn open_db<P: AsRef<Path>>(path: P) -> Arc<DB> {
207205
let path = path.as_ref().to_str().unwrap();
@@ -363,11 +361,8 @@ mod tests {
363361

364362
#[test]
365363
fn test_sst_file_stream() {
366-
let dir = TempDir::new("test_import_sst_file_stream").unwrap();
367-
let uuid = Uuid::new_v4();
368-
let db_cfg = DbConfig::default();
369-
let security_cfg = SecurityConfig::default();
370-
let engine = Arc::new(Engine::new(dir.path(), uuid, db_cfg, security_cfg).unwrap());
364+
let (_dir, engine) = new_engine("test_import_sst_file_stream");
365+
let engine = Arc::new(engine);
371366

372367
for i in 0..16 {
373368
let k = Key::from_raw(&[i]).append_ts(0);

src/import/test_helpers.rs

+14
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,16 @@ use crc::crc32::{self, Hasher32};
99
use kvproto::import_sstpb::*;
1010
use kvproto::kvrpcpb::*;
1111
use kvproto::metapb::*;
12+
use tempdir::TempDir;
1213
use uuid::Uuid;
1314

15+
use crate::config::DbConfig;
16+
use crate::import::engine::Engine;
1417
use crate::pd::RegionInfo;
1518
use crate::raftstore::store::keys;
1619
use engine::rocks::{ColumnFamilyOptions, EnvOptions, SstFileWriter, DB};
1720
use tikv_util::collections::HashMap;
21+
use tikv_util::security::SecurityConfig;
1822

1923
use super::client::*;
2024
use super::common::*;
@@ -63,6 +67,16 @@ pub fn read_sst_file<P: AsRef<Path>>(path: P, range: (u8, u8)) -> (SSTMeta, Vec<
6367
(meta, data)
6468
}
6569

70+
/// Creates a new, empty engine in a temporary directory.
71+
pub fn new_engine(name: &str) -> (TempDir, Engine) {
72+
let dir = TempDir::new(name).unwrap();
73+
let uuid = Uuid::new_v4();
74+
let db_cfg = DbConfig::default();
75+
let security_cfg = SecurityConfig::default();
76+
let engine = Engine::new(dir.path(), uuid, db_cfg, security_cfg).unwrap();
77+
(dir, engine)
78+
}
79+
6680
#[derive(Clone)]
6781
pub struct MockClient {
6882
counter: Arc<AtomicUsize>,

0 commit comments

Comments
 (0)