X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Ftest%2Flibrados%2Fstat.cc;fp=src%2Fceph%2Fsrc%2Ftest%2Flibrados%2Fstat.cc;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=9641bb8138d2676d6705bca795825639cc37f138;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/test/librados/stat.cc b/src/ceph/src/test/librados/stat.cc deleted file mode 100644 index 9641bb8..0000000 --- a/src/ceph/src/test/librados/stat.cc +++ /dev/null @@ -1,279 +0,0 @@ -#include "include/rados/librados.h" -#include "include/rados/librados.hpp" -#include "test/librados/test.h" -#include "test/librados/TestCase.h" - -#include "common/ceph_time.h" - -#include -#include -#include "gtest/gtest.h" - -using namespace librados; - -typedef RadosTest LibRadosStat; -typedef RadosTestPP LibRadosStatPP; -typedef RadosTestEC LibRadosStatEC; -typedef RadosTestECPP LibRadosStatECPP; - -TEST_F(LibRadosStat, Stat) { - char buf[128]; - memset(buf, 0xcc, sizeof(buf)); - ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0)); - uint64_t size; - time_t mtime; - ASSERT_EQ(0, rados_stat(ioctx, "foo", &size, &mtime)); - ASSERT_EQ(sizeof(buf), size); - ASSERT_EQ(-ENOENT, rados_stat(ioctx, "nonexistent", &size, &mtime)); -} - -TEST_F(LibRadosStatPP, StatPP) { - char buf[128]; - memset(buf, 0xcc, sizeof(buf)); - bufferlist bl; - bl.append(buf, sizeof(buf)); - ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0)); - uint64_t size; - time_t mtime; - ASSERT_EQ(0, ioctx.stat("foo", &size, &mtime)); - ASSERT_EQ(sizeof(buf), size); - ASSERT_EQ(-ENOENT, ioctx.stat("nonexistent", &size, &mtime)); -} - -TEST_F(LibRadosStatPP, Stat2Mtime2PP) { - char buf[128]; - memset(buf, 0xcc, sizeof(buf)); - bufferlist bl; - bl.append(buf, sizeof(buf)); - librados::ObjectWriteOperation op; - struct timespec ts; - ts.tv_sec = 1457129052; - ts.tv_nsec = 123456789; - op.mtime2(&ts); - op.write(0, bl); - ASSERT_EQ(0, ioctx.operate("foo", &op)); - - /* XXX time comparison asserts could spuriously fail */ - - uint64_t size; - time_t mtime; - ASSERT_EQ(0, ioctx.stat("foo", &size, &mtime)); - ASSERT_EQ(sizeof(buf), size); - ASSERT_EQ(mtime, ts.tv_sec); - - struct timespec ts2; - ASSERT_EQ(0, ioctx.stat2("foo", &size, &ts2)); - ASSERT_EQ(sizeof(buf), size); - ASSERT_EQ(ts2.tv_sec, ts.tv_sec); - ASSERT_EQ(ts2.tv_nsec, ts.tv_nsec); - - ASSERT_EQ(-ENOENT, ioctx.stat2("nonexistent", &size, &ts2)); -} - -TEST_F(LibRadosStat, StatNS) { - char buf[128]; - memset(buf, 0xcc, sizeof(buf)); - rados_ioctx_set_namespace(ioctx, ""); - ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0)); - ASSERT_EQ(0, rados_write(ioctx, "foo2", buf, sizeof(buf), 0)); - - char buf2[64]; - memset(buf2, 0xcc, sizeof(buf2)); - rados_ioctx_set_namespace(ioctx, "nspace"); - ASSERT_EQ(0, rados_write(ioctx, "foo", buf2, sizeof(buf2), 0)); - - uint64_t size; - time_t mtime; - rados_ioctx_set_namespace(ioctx, ""); - ASSERT_EQ(0, rados_stat(ioctx, "foo", &size, &mtime)); - ASSERT_EQ(sizeof(buf), size); - ASSERT_EQ(-ENOENT, rados_stat(ioctx, "nonexistent", &size, &mtime)); - - rados_ioctx_set_namespace(ioctx, "nspace"); - ASSERT_EQ(0, rados_stat(ioctx, "foo", &size, &mtime)); - ASSERT_EQ(sizeof(buf2), size); - ASSERT_EQ(-ENOENT, rados_stat(ioctx, "nonexistent", &size, &mtime)); - ASSERT_EQ(-ENOENT, rados_stat(ioctx, "foo2", &size, &mtime)); -} - -TEST_F(LibRadosStatPP, StatPPNS) { - char buf[128]; - memset(buf, 0xcc, sizeof(buf)); - bufferlist bl; - bl.append(buf, sizeof(buf)); - ioctx.set_namespace(""); - ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0)); - ASSERT_EQ(0, ioctx.write("foo2", bl, sizeof(buf), 0)); - - char buf2[64]; - memset(buf2, 0xbb, sizeof(buf2)); - bufferlist bl2; - bl2.append(buf2, sizeof(buf2)); - ioctx.set_namespace("nspace"); - ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf2), 0)); - - uint64_t size; - time_t mtime; - ioctx.set_namespace(""); - ASSERT_EQ(0, ioctx.stat("foo", &size, &mtime)); - ASSERT_EQ(sizeof(buf), size); - ASSERT_EQ(-ENOENT, ioctx.stat("nonexistent", &size, &mtime)); - - ioctx.set_namespace("nspace"); - ASSERT_EQ(0, ioctx.stat("foo", &size, &mtime)); - ASSERT_EQ(sizeof(buf2), size); - ASSERT_EQ(-ENOENT, ioctx.stat("nonexistent", &size, &mtime)); - ASSERT_EQ(-ENOENT, ioctx.stat("foo2", &size, &mtime)); -} - -TEST_F(LibRadosStat, ClusterStat) { - struct rados_cluster_stat_t result; - ASSERT_EQ(0, rados_cluster_stat(cluster, &result)); -} - -TEST_F(LibRadosStatPP, ClusterStatPP) { - cluster_stat_t cstat; - ASSERT_EQ(0, cluster.cluster_stat(cstat)); -} - -TEST_F(LibRadosStat, PoolStat) { - char buf[128]; - char actual_pool_name[80]; - unsigned l = rados_ioctx_get_pool_name(ioctx, actual_pool_name, sizeof(actual_pool_name)); - ASSERT_EQ(strlen(actual_pool_name), l); - ASSERT_EQ(0, strcmp(actual_pool_name, pool_name.c_str())); - memset(buf, 0xff, sizeof(buf)); - ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0)); - struct rados_pool_stat_t stats; - memset(&stats, 0, sizeof(stats)); - ASSERT_EQ(0, rados_ioctx_pool_stat(ioctx, &stats)); -} - -TEST_F(LibRadosStatPP, PoolStatPP) { - std::string n = ioctx.get_pool_name(); - ASSERT_EQ(n, pool_name); - char buf[128]; - memset(buf, 0xff, sizeof(buf)); - bufferlist bl1; - bl1.append(buf, sizeof(buf)); - ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0)); - std::list v; - std::map stats; - ASSERT_EQ(0, cluster.get_pool_stats(v, stats)); -} - -TEST_F(LibRadosStatEC, Stat) { - char buf[128]; - memset(buf, 0xcc, sizeof(buf)); - ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0)); - uint64_t size; - time_t mtime; - ASSERT_EQ(0, rados_stat(ioctx, "foo", &size, &mtime)); - ASSERT_EQ(sizeof(buf), size); - ASSERT_EQ(-ENOENT, rados_stat(ioctx, "nonexistent", &size, &mtime)); -} - -TEST_F(LibRadosStatECPP, StatPP) { - char buf[128]; - memset(buf, 0xcc, sizeof(buf)); - bufferlist bl; - bl.append(buf, sizeof(buf)); - ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0)); - uint64_t size; - time_t mtime; - ASSERT_EQ(0, ioctx.stat("foo", &size, &mtime)); - ASSERT_EQ(sizeof(buf), size); - ASSERT_EQ(-ENOENT, ioctx.stat("nonexistent", &size, &mtime)); -} - -TEST_F(LibRadosStatEC, StatNS) { - char buf[128]; - memset(buf, 0xcc, sizeof(buf)); - rados_ioctx_set_namespace(ioctx, ""); - ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0)); - ASSERT_EQ(0, rados_write(ioctx, "foo2", buf, sizeof(buf), 0)); - - char buf2[64]; - memset(buf2, 0xcc, sizeof(buf2)); - rados_ioctx_set_namespace(ioctx, "nspace"); - ASSERT_EQ(0, rados_write(ioctx, "foo", buf2, sizeof(buf2), 0)); - - uint64_t size; - time_t mtime; - rados_ioctx_set_namespace(ioctx, ""); - ASSERT_EQ(0, rados_stat(ioctx, "foo", &size, &mtime)); - ASSERT_EQ(sizeof(buf), size); - ASSERT_EQ(-ENOENT, rados_stat(ioctx, "nonexistent", &size, &mtime)); - - rados_ioctx_set_namespace(ioctx, "nspace"); - ASSERT_EQ(0, rados_stat(ioctx, "foo", &size, &mtime)); - ASSERT_EQ(sizeof(buf2), size); - ASSERT_EQ(-ENOENT, rados_stat(ioctx, "nonexistent", &size, &mtime)); - ASSERT_EQ(-ENOENT, rados_stat(ioctx, "foo2", &size, &mtime)); -} - -TEST_F(LibRadosStatECPP, StatPPNS) { - char buf[128]; - memset(buf, 0xcc, sizeof(buf)); - bufferlist bl; - bl.append(buf, sizeof(buf)); - ioctx.set_namespace(""); - ASSERT_EQ(0, ioctx.write("foo", bl, sizeof(buf), 0)); - ASSERT_EQ(0, ioctx.write("foo2", bl, sizeof(buf), 0)); - - char buf2[64]; - memset(buf2, 0xbb, sizeof(buf2)); - bufferlist bl2; - bl2.append(buf2, sizeof(buf2)); - ioctx.set_namespace("nspace"); - ASSERT_EQ(0, ioctx.write("foo", bl2, sizeof(buf2), 0)); - - uint64_t size; - time_t mtime; - ioctx.set_namespace(""); - ASSERT_EQ(0, ioctx.stat("foo", &size, &mtime)); - ASSERT_EQ(sizeof(buf), size); - ASSERT_EQ(-ENOENT, ioctx.stat("nonexistent", &size, &mtime)); - - ioctx.set_namespace("nspace"); - ASSERT_EQ(0, ioctx.stat("foo", &size, &mtime)); - ASSERT_EQ(sizeof(buf2), size); - ASSERT_EQ(-ENOENT, ioctx.stat("nonexistent", &size, &mtime)); - ASSERT_EQ(-ENOENT, ioctx.stat("foo2", &size, &mtime)); -} - -TEST_F(LibRadosStatEC, ClusterStat) { - struct rados_cluster_stat_t result; - ASSERT_EQ(0, rados_cluster_stat(cluster, &result)); -} - -TEST_F(LibRadosStatECPP, ClusterStatPP) { - cluster_stat_t cstat; - ASSERT_EQ(0, cluster.cluster_stat(cstat)); -} - -TEST_F(LibRadosStatEC, PoolStat) { - char buf[128]; - char actual_pool_name[80]; - unsigned l = rados_ioctx_get_pool_name(ioctx, actual_pool_name, sizeof(actual_pool_name)); - ASSERT_EQ(strlen(actual_pool_name), l); - ASSERT_EQ(0, strcmp(actual_pool_name, pool_name.c_str())); - memset(buf, 0xff, sizeof(buf)); - ASSERT_EQ(0, rados_write(ioctx, "foo", buf, sizeof(buf), 0)); - struct rados_pool_stat_t stats; - memset(&stats, 0, sizeof(stats)); - ASSERT_EQ(0, rados_ioctx_pool_stat(ioctx, &stats)); -} - -TEST_F(LibRadosStatECPP, PoolStatPP) { - std::string n = ioctx.get_pool_name(); - ASSERT_EQ(n, pool_name); - char buf[128]; - memset(buf, 0xff, sizeof(buf)); - bufferlist bl1; - bl1.append(buf, sizeof(buf)); - ASSERT_EQ(0, ioctx.write("foo", bl1, sizeof(buf), 0)); - std::list v; - std::map stats; - ASSERT_EQ(0, cluster.get_pool_stats(v, stats)); -}