Clean-up WAL directory before running db_test
Summary: DBTest doesn't clean up wal directory. It might cause failure after a failure test run. Fix it. Test Plan: Run unit tests Try open DB with non-empty db_path/wal. Reviewers: rven, yhchiang, kradhakrishnan, igor Reviewed By: igor Subscribers: leveldb, dhruba Differential Revision: https://reviews.facebook.net/D35559
This commit is contained in:
parent
28bc6de989
commit
38d286f146
@ -433,6 +433,7 @@ class DBTest : public testing::Test {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
std::string dbname_;
|
std::string dbname_;
|
||||||
|
std::string alternative_wal_dir_;
|
||||||
MockEnv* mem_env_;
|
MockEnv* mem_env_;
|
||||||
SpecialEnv* env_;
|
SpecialEnv* env_;
|
||||||
DB* db_;
|
DB* db_;
|
||||||
@ -463,7 +464,12 @@ class DBTest : public testing::Test {
|
|||||||
env_->SetBackgroundThreads(1, Env::LOW);
|
env_->SetBackgroundThreads(1, Env::LOW);
|
||||||
env_->SetBackgroundThreads(1, Env::HIGH);
|
env_->SetBackgroundThreads(1, Env::HIGH);
|
||||||
dbname_ = test::TmpDir(env_) + "/db_test";
|
dbname_ = test::TmpDir(env_) + "/db_test";
|
||||||
|
alternative_wal_dir_ = dbname_ + "/wal";
|
||||||
auto options = CurrentOptions();
|
auto options = CurrentOptions();
|
||||||
|
auto delete_options = options;
|
||||||
|
delete_options.wal_dir = alternative_wal_dir_;
|
||||||
|
EXPECT_OK(DestroyDB(dbname_, delete_options));
|
||||||
|
// Destroy it for not alternative WAL dir is used.
|
||||||
EXPECT_OK(DestroyDB(dbname_, options));
|
EXPECT_OK(DestroyDB(dbname_, options));
|
||||||
db_ = nullptr;
|
db_ = nullptr;
|
||||||
Reopen(options);
|
Reopen(options);
|
||||||
@ -631,7 +637,7 @@ class DBTest : public testing::Test {
|
|||||||
options.db_log_dir = test::TmpDir(env_);
|
options.db_log_dir = test::TmpDir(env_);
|
||||||
break;
|
break;
|
||||||
case kWalDirAndMmapReads:
|
case kWalDirAndMmapReads:
|
||||||
options.wal_dir = dbname_ + "/wal";
|
options.wal_dir = alternative_wal_dir_;
|
||||||
// mmap reads should be orthogonal to WalDir setting, so we piggyback to
|
// mmap reads should be orthogonal to WalDir setting, so we piggyback to
|
||||||
// this option config to test mmap reads as well
|
// this option config to test mmap reads as well
|
||||||
options.allow_mmap_reads = true;
|
options.allow_mmap_reads = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user