replace tempdir by tempfile (#2143)

## Issue Addressed

Fixes #2141 
Remove [tempdir](https://docs.rs/tempdir/0.3.7/tempdir/) in favor of [tempfile](https://docs.rs/tempfile/3.1.0/tempfile/).

## Proposed Changes

`tempfile` has a slightly different api that makes creating temp folders with a name prefix a chore (`tempdir::TempDir::new("toto")` => `tempfile::Builder::new().prefix("toto").tempdir()`).

So I removed temp folder name prefix where I deemed it not useful.

Otherwise, the functionality is the same.
This commit is contained in:
Arthur Woimbée
2021-01-06 06:36:11 +00:00
parent 7e4b190df0
commit 851a4dca3c
21 changed files with 64 additions and 74 deletions

View File

@@ -9,7 +9,7 @@ environment = { path = "../../lighthouse/environment" }
beacon_node = { path = "../../beacon_node" }
types = { path = "../../consensus/types" }
eth2_config = { path = "../../common/eth2_config" }
tempdir = "0.3.7"
tempfile = "3.1.0"
reqwest = { version = "0.10.8", features = ["native-tls-vendored"] }
url = "2.1.1"
serde = "1.0.116"

View File

@@ -11,7 +11,7 @@ use eth2::{
use std::path::PathBuf;
use std::time::Duration;
use std::time::{SystemTime, UNIX_EPOCH};
use tempdir::TempDir;
use tempfile::{Builder as TempBuilder, TempDir};
use types::EthSpec;
use validator_client::ProductionValidatorClient;
use validator_dir::insecure_keys::build_deterministic_validator_dirs;
@@ -42,7 +42,9 @@ impl<E: EthSpec> LocalBeaconNode<E> {
mut client_config: ClientConfig,
) -> Result<Self, String> {
// Creates a temporary directory that will be deleted once this `TempDir` is dropped.
let datadir = TempDir::new("lighthouse_node_test_rig")
let datadir = TempBuilder::new()
.prefix("lighthouse_node_test_rig")
.tempdir()
.expect("should create temp directory for client datadir");
client_config.data_dir = datadir.path().into();
@@ -125,10 +127,14 @@ pub struct ValidatorFiles {
impl ValidatorFiles {
/// Creates temporary data and secrets dirs.
pub fn new() -> Result<Self, String> {
let datadir = TempDir::new("lighthouse-validator-client")
let datadir = TempBuilder::new()
.prefix("lighthouse-validator-client")
.tempdir()
.map_err(|e| format!("Unable to create VC data dir: {:?}", e))?;
let secrets_dir = TempDir::new("lighthouse-validator-client-secrets")
let secrets_dir = TempBuilder::new()
.prefix("lighthouse-validator-client-secrets")
.tempdir()
.map_err(|e| format!("Unable to create VC secrets dir: {:?}", e))?;
Ok(Self {