]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test/rados-api/test.cc: add create_one_pool_pp,etc
authorColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Thu, 11 Aug 2011 17:40:29 +0000 (10:40 -0700)
committerColin Patrick McCabe <cmccabe@alumni.cmu.edu>
Thu, 11 Aug 2011 17:40:29 +0000 (10:40 -0700)
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
src/test/rados-api/test.cc
src/test/rados-api/test.h

index 72cce23ca54746f0b9c8e256c3b1a9419507ac06..5e37fac037b5fcd1e81c971b9248450d0dcc2040 100644 (file)
@@ -1,4 +1,5 @@
 #include "include/rados/librados.h"
+#include "include/rados/librados.hpp"
 #include "test/rados-api/test.h"
 
 #include <sstream>
@@ -6,6 +7,8 @@
 #include <string>
 #include <time.h>
 
+using namespace librados;
+
 std::string get_temp_pool_name()
 {
   char out[17];
@@ -50,6 +53,39 @@ std::string create_one_pool(const std::string &pool_name, rados_t *cluster)
   return "";
 }
 
+std::string create_one_pool_pp(const std::string &pool_name, Rados &cluster)
+{
+  int ret;
+  ret = cluster.init(NULL);
+  if (ret) {
+    std::ostringstream oss;
+    oss << "cluster.init failed with error " << ret;
+    return oss.str();
+  }
+  ret = cluster.conf_read_file(NULL);
+  if (ret) {
+    cluster.shutdown();
+    std::ostringstream oss;
+    oss << "cluster.conf_read_file failed with error " << ret;
+    return oss.str();
+  }
+  ret = cluster.connect();
+  if (ret) {
+    cluster.shutdown();
+    std::ostringstream oss;
+    oss << "cluster.connect failed with error " << ret;
+    return oss.str();
+  }
+  ret = cluster.pool_create(pool_name.c_str());
+  if (ret) {
+    cluster.shutdown();
+    std::ostringstream oss;
+    oss << "cluster.pool_create(" << pool_name << ") failed with error " << ret;
+    return oss.str();
+  }
+  return "";
+}
+
 int destroy_one_pool(const std::string &pool_name, rados_t *cluster)
 {
   int ret = rados_pool_delete(*cluster, pool_name.c_str());
@@ -60,3 +96,14 @@ int destroy_one_pool(const std::string &pool_name, rados_t *cluster)
   rados_shutdown(*cluster);
   return 0;
 }
+
+int destroy_one_pool_pp(const std::string &pool_name, Rados &cluster)
+{
+  int ret = cluster.pool_delete(pool_name.c_str());
+  if (ret) {
+    cluster.shutdown();
+    return ret;
+  }
+  cluster.shutdown();
+  return 0;
+}
index 01022b8a03fe50764c9f5a4c31a7281d64fdd0c9..8e22d87105bc2838f04cae6f3a85f6113b338b5e 100644 (file)
@@ -16,6 +16,7 @@
 #define CEPH_TEST_RADOS_API_TEST_H
 
 #include "include/rados/librados.h"
+#include "include/rados/librados.hpp"
 
 #include <string>
 #include <unistd.h>
 std::string get_temp_pool_name();
 
 std::string create_one_pool(const std::string &pool_name, rados_t *cluster);
-
+std::string create_one_pool_pp(const std::string &pool_name,
+                           librados::Rados &cluster);
 int destroy_one_pool(const std::string &pool_name, rados_t *cluster);
+int destroy_one_pool_pp(const std::string &pool_name, librados::Rados &cluster);
 
 class TestAlarm
 {