Allow table/sst_file_reader_test.cc to use custom Env (#6536)
Summary: Allowing table/sst_file_reader_test.cc to use custom Env specified by TEST_ENV_URI. Pull Request resolved: https://github.com/facebook/rocksdb/pull/6536 Reviewed By: riversand963 Differential Revision: D20448525 Pulled By: akankshamahajan15 fbshipit-source-id: 74e4d34c8ac4c2743741e78bf599571a4a465459
This commit is contained in:
parent
66ed58083a
commit
a8149aef1e
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include <cinttypes>
|
#include <cinttypes>
|
||||||
|
|
||||||
|
#include "port/stack_trace.h"
|
||||||
#include "rocksdb/db.h"
|
#include "rocksdb/db.h"
|
||||||
#include "rocksdb/sst_file_reader.h"
|
#include "rocksdb/sst_file_reader.h"
|
||||||
#include "rocksdb/sst_file_writer.h"
|
#include "rocksdb/sst_file_writer.h"
|
||||||
@ -34,11 +35,24 @@ class SstFileReaderTest : public testing::Test {
|
|||||||
SstFileReaderTest() {
|
SstFileReaderTest() {
|
||||||
options_.merge_operator = MergeOperators::CreateUInt64AddOperator();
|
options_.merge_operator = MergeOperators::CreateUInt64AddOperator();
|
||||||
sst_name_ = test::PerThreadDBPath("sst_file");
|
sst_name_ = test::PerThreadDBPath("sst_file");
|
||||||
|
|
||||||
|
Env* base_env = Env::Default();
|
||||||
|
const char* test_env_uri = getenv("TEST_ENV_URI");
|
||||||
|
if(test_env_uri) {
|
||||||
|
Env* test_env = nullptr;
|
||||||
|
Status s = Env::LoadEnv(test_env_uri, &test_env, &env_guard_);
|
||||||
|
base_env = test_env;
|
||||||
|
EXPECT_OK(s);
|
||||||
|
EXPECT_NE(Env::Default(), base_env);
|
||||||
|
}
|
||||||
|
EXPECT_NE(nullptr, base_env);
|
||||||
|
env_ = base_env;
|
||||||
|
options_.env = env_;
|
||||||
}
|
}
|
||||||
|
|
||||||
~SstFileReaderTest() {
|
~SstFileReaderTest() {
|
||||||
Status s = Env::Default()->DeleteFile(sst_name_);
|
Status s = env_->DeleteFile(sst_name_);
|
||||||
assert(s.ok());
|
EXPECT_OK(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CreateFile(const std::string& file_name,
|
void CreateFile(const std::string& file_name,
|
||||||
@ -91,6 +105,8 @@ class SstFileReaderTest : public testing::Test {
|
|||||||
Options options_;
|
Options options_;
|
||||||
EnvOptions soptions_;
|
EnvOptions soptions_;
|
||||||
std::string sst_name_;
|
std::string sst_name_;
|
||||||
|
std::shared_ptr<Env> env_guard_;
|
||||||
|
Env* env_;
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint64_t kNumKeys = 100;
|
const uint64_t kNumKeys = 100;
|
||||||
@ -157,8 +173,18 @@ TEST_F(SstFileReaderTest, ReadFileWithGlobalSeqno) {
|
|||||||
|
|
||||||
} // namespace ROCKSDB_NAMESPACE
|
} // namespace ROCKSDB_NAMESPACE
|
||||||
|
|
||||||
|
#ifdef ROCKSDB_UNITTESTS_WITH_CUSTOM_OBJECTS_FROM_STATIC_LIBS
|
||||||
|
extern "C" {
|
||||||
|
void RegisterCustomObjects(int argc, char** argv);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
void RegisterCustomObjects(int /*argc*/, char** /*argv*/) {}
|
||||||
|
#endif // !ROCKSDB_UNITTESTS_WITH_CUSTOM_OBJECTS_FROM_STATIC_LIBS
|
||||||
|
|
||||||
int main(int argc, char** argv) {
|
int main(int argc, char** argv) {
|
||||||
|
ROCKSDB_NAMESPACE::port::InstallStackTraceHandler();
|
||||||
::testing::InitGoogleTest(&argc, argv);
|
::testing::InitGoogleTest(&argc, argv);
|
||||||
|
RegisterCustomObjects(argc, argv);
|
||||||
return RUN_ALL_TESTS();
|
return RUN_ALL_TESTS();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user