]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test/libcephfs/access: add update_after_unlink test
authorJashan Kamboj <jashank42@gmail.com>
Tue, 18 Aug 2015 15:09:58 +0000 (20:39 +0530)
committerSage Weil <sage@redhat.com>
Thu, 1 Oct 2015 13:41:32 +0000 (09:41 -0400)
Signed-off-by: Jashan Kamboj <jashank42@gmail.com>
src/test/libcephfs/access.cc

index c6c797dfa044e1377df5c4c2848a1a03dec49184..6413ab7c931f16179f98232b8daf502e6d6edb35 100644 (file)
@@ -202,6 +202,25 @@ TEST(AccessTest, ReadOnly){
   ceph_shutdown(admin);
 }
 
+TEST(AccessTest, update_after_unlink){
+  struct ceph_mount_info *admin;
+  ASSERT_EQ(0, ceph_create(&admin, NULL));
+  ASSERT_EQ(0, ceph_conf_parse_env(admin, NULL));
+  ASSERT_EQ(0, ceph_conf_read_file(admin, NULL));
+  ASSERT_EQ(0, ceph_mount(admin, "/"));
+  ASSERT_EQ(0, ceph_mkdir(admin, "/foo", 0755));
+  int fd = ceph_open(admin, "/foo/bar", O_CREAT|O_WRONLY, 0755);
+  ceph_unlink(admin, "/foo/bar");
+  ASSERT_GE(ceph_write(admin, fd, "foo", 3, 0), 0);
+  ASSERT_GE(ceph_fchmod(admin, fd, 0777), 0);
+  ASSERT_GE(ceph_ftruncate(admin, fd, 0), 0);
+  ASSERT_GE(ceph_fsetxattr(admin, fd, "user.any", "bar", 3, 0), 0);
+  ceph_close(admin,fd);
+
+  ASSERT_EQ(0, ceph_rmdir(admin, "/foo"));
+  ceph_shutdown(admin);
+}
+
 int main(int argc, char **argv)
 {
   ::testing::InitGoogleTest(&argc, argv);