From e6de68bf91e64a7744c097722b51fdcda006cb36 Mon Sep 17 00:00:00 2001 From: logan-keede Date: Sat, 25 Jan 2025 13:15:32 +0530 Subject: [PATCH] Add random string in path generation Signed-off-by: logan-keede --- Cargo.lock | 1 + sqllogictest/Cargo.toml | 1 + sqllogictest/src/runner.rs | 8 +++++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Cargo.lock b/Cargo.lock index 7d60aca..6fce7c9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1903,6 +1903,7 @@ dependencies = [ "md-5", "owo-colors", "pretty_assertions", + "rand", "regex", "similar", "subst", diff --git a/sqllogictest/Cargo.toml b/sqllogictest/Cargo.toml index 1eb21ae..b96c1af 100644 --- a/sqllogictest/Cargo.toml +++ b/sqllogictest/Cargo.toml @@ -25,6 +25,7 @@ subst = "0.3" tempfile = "3" thiserror = "2" tracing = "0.1" +rand = "0.8.5" [dev-dependencies] pretty_assertions = "1" diff --git a/sqllogictest/src/runner.rs b/sqllogictest/src/runner.rs index 817e036..3619c3a 100644 --- a/sqllogictest/src/runner.rs +++ b/sqllogictest/src/runner.rs @@ -14,6 +14,7 @@ use futures::{stream, Future, FutureExt, StreamExt}; use itertools::Itertools; use md5::Digest; use owo_colors::OwoColorize; +use rand::Rng; use similar::{Change, ChangeTag, TextDiff}; use crate::parser::*; @@ -1339,7 +1340,12 @@ impl> Runner { fn create_outfile(filename: impl AsRef) -> std::io::Result<(PathBuf, File)> { let filename = filename.as_ref(); - let outfilename = filename.file_name().unwrap().to_str().unwrap().to_owned() + ".temp"; + let outfilename = format!( + "{}{:010}{}", + filename.file_name().unwrap().to_str().unwrap().to_owned(), + rand::thread_rng().gen_range(0..10_000_000), + ".temp" + ); let outfilename = filename.parent().unwrap().join(outfilename); // create a temp file in read-write mode let outfile = OpenOptions::new()