You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zg...@apache.org on 2019/03/12 12:46:01 UTC

[hbase] 73/133: Adding methods to run a stand-alone HBase instance

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 <su...@hashmapinc.com>
AuthorDate: Fri Mar 24 15:58:58 2017 +1100

    Adding methods to run a stand-alone HBase instance
    
    Signed-off-by: Enis Soztutar <en...@apache.org>
---
 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_;