diff --git a/tests/unit/kvstore.cpp b/tests/unit/kvstore.cpp index 418af312f..e8afef4bd 100644 --- a/tests/unit/kvstore.cpp +++ b/tests/unit/kvstore.cpp @@ -1,3 +1,5 @@ +#include <unistd.h> + #include <glog/logging.h> #include <gtest/gtest.h> @@ -13,7 +15,9 @@ class KVStore : public ::testing::Test { virtual void TearDown() { fs::remove_all(test_folder_); } - fs::path test_folder_{fs::path("kvstore_test")}; + fs::path test_folder_{ + fs::temp_directory_path() / + ("unit_kvstore_test_" + std::to_string(static_cast<int>(getpid())))}; }; TEST_F(KVStore, PutGet) { diff --git a/tests/unit/property_value_store.cpp b/tests/unit/property_value_store.cpp index 98e6da526..3e6b660f9 100644 --- a/tests/unit/property_value_store.cpp +++ b/tests/unit/property_value_store.cpp @@ -1,3 +1,4 @@ +#include <unistd.h> #include <vector> #include "gflags/gflags.h" @@ -5,10 +6,13 @@ #include "storage/property_value.hpp" #include "storage/property_value_store.hpp" +#include "utils/file.hpp" -using std::string; using Location = storage::Location; +namespace fs = std::experimental::filesystem; + +DECLARE_string(durability_directory); DECLARE_string(properties_on_disk); class PropertyValueStoreTest : public ::testing::Test { @@ -18,6 +22,12 @@ class PropertyValueStoreTest : public ::testing::Test { void SetUp() override { // we need this to test the copy constructor FLAGS_properties_on_disk = "not empty"; + + auto durability_path = fs::temp_directory_path() / + ("unit_property_value_store_durability_" + + std::to_string(static_cast<int>(getpid()))); + FLAGS_durability_directory = durability_path.string(); + utils::EnsureDir(fs::path(FLAGS_durability_directory)); } void Set(int key, Location location, PropertyValue value) { @@ -36,7 +46,10 @@ class PropertyValueStoreTest : public ::testing::Test { auto End() { return props_.end(); } - void TearDown() override { props_.clear(); } + void TearDown() override { + props_.clear(); + fs::remove_all(fs::path(FLAGS_durability_directory)); + } }; TEST_F(PropertyValueStoreTest, AtMemory) { @@ -45,7 +58,7 @@ TEST_F(PropertyValueStoreTest, AtMemory) { EXPECT_EQ(PropertyValue(At(0, Location::Memory)).type(), PropertyValue::Type::Null); Set(0, Location::Memory, some_string); - EXPECT_EQ(PropertyValue(At(0, Location::Memory)).Value<string>(), + EXPECT_EQ(PropertyValue(At(0, Location::Memory)).Value<std::string>(), some_string); Set(120, Location::Memory, 42); EXPECT_EQ(PropertyValue(At(120, Location::Memory)).Value<int64_t>(), 42); @@ -57,7 +70,8 @@ TEST_F(PropertyValueStoreTest, AtDisk) { EXPECT_EQ(PropertyValue(At(0, Location::Disk)).type(), PropertyValue::Type::Null); Set(0, Location::Disk, some_string); - EXPECT_EQ(PropertyValue(At(0, Location::Disk)).Value<string>(), some_string); + EXPECT_EQ(PropertyValue(At(0, Location::Disk)).Value<std::string>(), + some_string); Set(120, Location::Disk, 42); EXPECT_EQ(PropertyValue(At(120, Location::Disk)).Value<int64_t>(), 42); } @@ -333,28 +347,30 @@ TEST_F(PropertyValueStoreTest, CopyConstructor) { PropertyValueStore new_props = props; for (int i = 1; i <= 3; ++i) - EXPECT_EQ( - new_props.at(storage::Property(i, Location::Memory)).Value<string>(), - "mem_" + std::to_string(i)); + EXPECT_EQ(new_props.at(storage::Property(i, Location::Memory)) + .Value<std::string>(), + "mem_" + std::to_string(i)); for (int i = 4; i <= 5; ++i) EXPECT_EQ( - new_props.at(storage::Property(i, Location::Disk)).Value<string>(), + new_props.at(storage::Property(i, Location::Disk)).Value<std::string>(), "disk_" + std::to_string(i)); props.set(storage::Property(1, Location::Memory), "mem_1_update"); EXPECT_EQ( - new_props.at(storage::Property(1, Location::Memory)).Value<string>(), + new_props.at(storage::Property(1, Location::Memory)).Value<std::string>(), "mem_1"); new_props.set(storage::Property(2, Location::Memory), "mem_2_update"); - EXPECT_EQ(props.at(storage::Property(2, Location::Memory)).Value<string>(), - "mem_2"); + EXPECT_EQ( + props.at(storage::Property(2, Location::Memory)).Value<std::string>(), + "mem_2"); props.set(storage::Property(4, Location::Disk), "disk_4_update"); - EXPECT_EQ(new_props.at(storage::Property(4, Location::Disk)).Value<string>(), - "disk_4"); + EXPECT_EQ( + new_props.at(storage::Property(4, Location::Disk)).Value<std::string>(), + "disk_4"); new_props.set(storage::Property(5, Location::Disk), "disk_5_update"); - EXPECT_EQ(props.at(storage::Property(5, Location::Disk)).Value<string>(), + EXPECT_EQ(props.at(storage::Property(5, Location::Disk)).Value<std::string>(), "disk_5"); }