diff --git a/test/test_helpers.hpp b/test/test_helpers.hpp index 15d20f6..98ee090 100644 --- a/test/test_helpers.hpp +++ b/test/test_helpers.hpp @@ -34,23 +34,13 @@ struct buffer { [[maybe_unused]] inline buffer buff; -std::string time_now_rand() { - std::stringstream ss; - auto t = std::time(nullptr); - auto tm = *std::localtime(&t); - ss << std::put_time(&tm, "%d%m%Y%H%M%S"); - srand(time(nullptr)); - return ss.str() + std::to_string(rand()); -} - struct unique_file_name { - static inline int i = 0; + std::string name; - const std::string name; - - unique_file_name(const std::string& test) - : name{"random_" + test + "_" + std::to_string(i++) + "_" + - time_now_rand() + "_file.csv"} { + unique_file_name(const std::string& test) { + do { + name = std::tmpnam(nullptr) + std::string{"_random_test_"} + test; + } while (std::filesystem::exists(name)); } ~unique_file_name() {