Skip to content

Commit 1a40b34

Browse files
committed
Use tempfile for cluster tests
1 parent 084b934 commit 1a40b34

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

tests/support/cluster.rs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@ use std::process;
77
use std::thread::sleep;
88
use std::time::Duration;
99

10-
use std::path::PathBuf;
10+
use tempfile::TempDir;
1111

1212
use super::RedisServer;
1313

1414
pub struct RedisCluster {
1515
pub servers: Vec<RedisServer>,
16-
pub folders: Vec<PathBuf>,
16+
pub folders: Vec<TempDir>,
1717
}
1818

1919
impl RedisCluster {
@@ -28,19 +28,20 @@ impl RedisCluster {
2828
servers.push(RedisServer::new_with_addr(
2929
redis::ConnectionAddr::Tcp("127.0.0.1".into(), port),
3030
|cmd| {
31-
let (a, b) = rand::random::<(u64, u64)>();
32-
let path = PathBuf::from(format!("/tmp/redis-rs-cluster-test-{}-{}-dir", a, b));
33-
fs::create_dir_all(&path).unwrap();
31+
let tempdir = tempfile::Builder::new()
32+
.prefix("redis")
33+
.tempdir()
34+
.expect("failed to create tempdir");
3435
cmd.arg("--cluster-enabled")
3536
.arg("yes")
3637
.arg("--cluster-config-file")
37-
.arg(&path.join("nodes.conf"))
38+
.arg(&tempdir.path().join("nodes.conf"))
3839
.arg("--cluster-node-timeout")
3940
.arg("5000")
4041
.arg("--appendonly")
4142
.arg("yes");
42-
cmd.current_dir(&path);
43-
folders.push(path);
43+
cmd.current_dir(&tempdir.path());
44+
folders.push(tempdir);
4445
addrs.push(format!("127.0.0.1:{}", port));
4546
dbg!(&cmd);
4647
cmd.spawn().unwrap()
@@ -98,9 +99,6 @@ impl RedisCluster {
9899
for server in &mut self.servers {
99100
server.stop();
100101
}
101-
for folder in &self.folders {
102-
fs::remove_dir_all(&folder).unwrap();
103-
}
104102
}
105103

106104
pub fn iter_servers(&self) -> impl Iterator<Item = &RedisServer> {

0 commit comments

Comments
 (0)