This is an automated email from the ASF dual-hosted git repository. zghao pushed a commit to branch HBASE-14850 in repository https://gitbox.apache.org/repos/asf/hbase.git
commit c6b84d7d5611a25263686c446087b7614551dfb7 Author: Sudeep Sunthankar <[email protected]> AuthorDate: Fri Mar 24 15:58:58 2017 +1100 Adding methods to run a stand-alone HBase instance Signed-off-by: Enis Soztutar <[email protected]> --- hbase-native-client/test-util/test-util.cc | 22 +++++++++++++++++++++- hbase-native-client/test-util/test-util.h | 4 ++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/hbase-native-client/test-util/test-util.cc b/hbase-native-client/test-util/test-util.cc index dfe4260..54d2c83 100644 --- a/hbase-native-client/test-util/test-util.cc +++ b/hbase-native-client/test-util/test-util.cc @@ -46,7 +46,9 @@ std::string TestUtil::RandString(int len) { TestUtil::TestUtil() : temp_dir_(TestUtil::RandString()) {} -TestUtil::~TestUtil() { StopMiniCluster(); } +TestUtil::~TestUtil() { + if (mini_) StopMiniCluster(); +} void TestUtil::StartMiniCluster(int32_t num_region_servers) { mini_ = std::make_unique<MiniCluster>(); @@ -69,3 +71,21 @@ void TestUtil::TablePut(const std::string &table, const std::string &row, const const std::string &column, const std::string &value) { mini_->TablePut(table, row, family, column, value); } + +void TestUtil::StartStandAloneInstance() { + auto p = temp_dir_.path().string(); + auto cmd = std::string{"bin/start-local-hbase.sh " + p}; + auto res_code = std::system(cmd.c_str()); + CHECK_EQ(res_code, 0); +} + +void TestUtil::StopStandAloneInstance() { + auto res_code = std::system("bin/stop-local-hbase.sh"); + CHECK_EQ(res_code, 0); +} + +void TestUtil::RunShellCmd(const std::string &command) { + auto cmd_string = folly::sformat("echo \"{}\" | ../bin/hbase shell", command); + auto res_code = std::system(cmd_string.c_str()); + CHECK_EQ(res_code, 0); +} diff --git a/hbase-native-client/test-util/test-util.h b/hbase-native-client/test-util/test-util.h index 611404d..b5714ee 100644 --- a/hbase-native-client/test-util/test-util.h +++ b/hbase-native-client/test-util/test-util.h @@ -64,6 +64,10 @@ class TestUtil { void TablePut(const std::string &table, const std::string &row, const std::string &family, const std::string &column, const std::string &value); + void StartStandAloneInstance(); + void StopStandAloneInstance(); + void RunShellCmd(const std::string &); + private: std::unique_ptr<MiniCluster> mini_; folly::test::TemporaryDirectory temp_dir_;
