test/rados-api/snapshots.cc: test SnapList

Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
This commit is contained in:
Colin Patrick McCabe 2011-08-10 12:01:15 -07:00
parent 3841e06f28
commit 4260a58e21
3 changed files with 46 additions and 0 deletions

1
src/.gitignore vendored
View File

@ -98,3 +98,4 @@ test_rados_api_list
test_rados_api_pool
test_rados_api_stat
test_rados_api_watch_notify
test_rados_api_snapshots

View File

@ -605,6 +605,12 @@ test_rados_api_watch_notify_LDADD = librados.la ${UNITTEST_LDADD}
test_rados_api_watch_notify_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
bin_DEBUGPROGRAMS += test_rados_api_watch_notify
test_rados_api_snapshots_SOURCES = test/rados-api/snapshots.cc test/rados-api/test.cc
test_rados_api_snapshots_LDFLAGS = ${AM_LDFLAGS}
test_rados_api_snapshots_LDADD = librados.la ${UNITTEST_LDADD}
test_rados_api_snapshots_CXXFLAGS = ${AM_CXXFLAGS} ${UNITTEST_CXXFLAGS}
bin_DEBUGPROGRAMS += test_rados_api_snapshots
# shell scripts
editpaths = sed \
-e 's|@bindir[@]|$(bindir)|g' \

View File

@ -0,0 +1,39 @@
#include "include/rados/librados.h"
#include "test/rados-api/test.h"
#include <errno.h>
#include "gtest/gtest.h"
///* snapshots */
//int rados_ioctx_snap_create(rados_ioctx_t io, const char *snapname);
//int rados_ioctx_snap_remove(rados_ioctx_t io, const char *snapname);
//int rados_rollback(rados_ioctx_t io, const char *oid,
// const char *snapname);
//void rados_ioctx_snap_set_read(rados_ioctx_t io, rados_snap_t snap);
//int rados_ioctx_selfmanaged_snap_create(rados_ioctx_t io, uint64_t *snapid);
//int rados_ioctx_selfmanaged_snap_remove(rados_ioctx_t io, uint64_t snapid);
//int rados_ioctx_selfmanaged_snap_rollback(rados_ioctx_t io, const char *oid, uint64_t snapid);
//int rados_ioctx_selfmanaged_snap_set_write_ctx(rados_ioctx_t io, rados_snap_t seq, rados_snap_t *snaps, int num_snaps);
//
//int rados_ioctx_snap_get_name(rados_ioctx_t io, rados_snap_t id, char *name, int maxlen);
//int rados_ioctx_snap_get_stamp(rados_ioctx_t io, rados_snap_t id, time_t *t);
TEST(LibRadosSnapshots, SnapList) {
char buf[128];
rados_t cluster;
rados_ioctx_t ioctx;
std::string pool_name = get_temp_pool_name();
ASSERT_EQ("", create_one_pool(pool_name, &cluster));
rados_ioctx_create(cluster, pool_name.c_str(), &ioctx);
memset(buf, 0xcc, sizeof(buf));
ASSERT_EQ((int)sizeof(buf), rados_write(ioctx, "foo", buf, sizeof(buf), 0));
ASSERT_EQ(0, rados_ioctx_snap_create(ioctx, "snap1"));
rados_snap_t snaps[10];
ASSERT_EQ(1, rados_ioctx_snap_list(ioctx, snaps,
sizeof(snaps) / sizeof(snaps[0])));
rados_snap_t rid;
ASSERT_EQ(0, rados_ioctx_snap_lookup(ioctx, "snap1", &rid));
ASSERT_EQ(rid, snaps[0]);
rados_ioctx_destroy(ioctx);
ASSERT_EQ(0, destroy_one_pool(pool_name, &cluster));
}