ceph_shutdown(admin);
}
-TEST(AccessTest, Path){
+TEST(AccessTest, Path) {
struct ceph_mount_info *admin;
ASSERT_EQ(0, ceph_create(&admin, NULL));
ASSERT_EQ(0, ceph_conf_parse_env(admin, NULL));
fd = ceph_open(cmount, "/foobar/y", O_CREAT|O_WRONLY, 0755);
ASSERT_LT(fd, 0);
+ // update after unlink
+ fd = ceph_open(cmount, "/bar/unlinkme", O_CREAT|O_WRONLY, 0755);
+ ceph_unlink(cmount, "/bar/unlinkme");
+ ASSERT_GE(ceph_write(cmount, fd, "foo", 3, 0), 0);
+ ASSERT_GE(ceph_fchmod(cmount, fd, 0777), 0);
+ ASSERT_GE(ceph_ftruncate(cmount, fd, 0), 0);
+ ASSERT_GE(ceph_fsetxattr(cmount, fd, "user.any", "bar", 3, 0), 0);
+ ceph_close(cmount, fd);
+
ceph_shutdown(cmount);
ASSERT_EQ(0, ceph_unlink(admin, "/foobar/q"));
ASSERT_EQ(0, ceph_unlink(admin, "/foobar/z"));
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);