diff options
author | Sage Weil <sage@inktank.com> | 2013-03-22 13:07:41 -0700 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-03-22 13:07:41 -0700 |
commit | 0d3f065c23d36b402b943f0f44f5ac879e1e7900 (patch) | |
tree | 2cfbaab91f9c75e10c2c01864a6cfb45fbff98aa | |
parent | 853dd35969ee3dfd958f0d6dd5e495364973c362 (diff) | |
parent | a72aaff66c86b7fdfb271e65f1e087c8b52033ca (diff) | |
download | ceph-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.cc | 31 |
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); |