summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-03-22 13:07:41 -0700
committerSage Weil <sage@inktank.com>2013-03-22 13:07:41 -0700
commit0d3f065c23d36b402b943f0f44f5ac879e1e7900 (patch)
tree2cfbaab91f9c75e10c2c01864a6cfb45fbff98aa
parent853dd35969ee3dfd958f0d6dd5e495364973c362 (diff)
parenta72aaff66c86b7fdfb271e65f1e087c8b52033ca (diff)
downloadceph-0d3f065c23d36b402b943f0f44f5ac879e1e7900.tar.gz
Merge pull request #130 from ceph/wip-fs-rename
test: add ceph_rename test Reviewed-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/test/libcephfs/test.cc31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/test/libcephfs/test.cc b/src/test/libcephfs/test.cc
index 267f0f5aad4..ff7ee14c26a 100644
--- a/src/test/libcephfs/test.cc
+++ b/src/test/libcephfs/test.cc
@@ -821,6 +821,37 @@ TEST(LibCephFS, StripeUnitGran) {
ceph_shutdown(cmount);
}
+TEST(LibCephFS, Rename) {
+ struct ceph_mount_info *cmount;
+ ASSERT_EQ(ceph_create(&cmount, NULL), 0);
+ ASSERT_EQ(ceph_conf_read_file(cmount, NULL), 0);
+ ASSERT_EQ(ceph_mount(cmount, NULL), 0);
+
+ int mypid = getpid();
+ char path_src[256];
+ char path_dst[256];
+
+ /* make a source file */
+ sprintf(path_src, "test_rename_src%d", mypid);
+ int fd = ceph_open(cmount, path_src, O_CREAT|O_TRUNC|O_WRONLY, 0777);
+ ASSERT_GT(fd, 0);
+ ASSERT_EQ(0, ceph_close(cmount, fd));
+
+ /* rename to a new dest path */
+ sprintf(path_dst, "test_rename_dst%d", mypid);
+ ASSERT_EQ(0, ceph_rename(cmount, path_src, path_dst));
+
+ /* test that dest path exists */
+ struct stat st;
+ ASSERT_EQ(0, ceph_lstat(cmount, path_dst, &st));
+
+ /* test that src path doesn't exist */
+ ASSERT_EQ(-ENOENT, ceph_lstat(cmount, path_src, &st));
+
+ ASSERT_EQ(0, ceph_unlink(cmount, path_dst));
+ ceph_shutdown(cmount);
+}
+
TEST(LibCephFS, UseUnmounted) {
struct ceph_mount_info *cmount;
ASSERT_EQ(ceph_create(&cmount, NULL), 0);