func TestCreationChecks(t *testing.T) { wd, clean := setup(t) defer clean() err := os.Mkdir(wd+"/store/foo", 0755) if err != nil { t.Fatalf("Mkdir failed: %v", err) } os.Symlink(wd+"/ro", wd+"/store/foo/READONLY") if err != nil { t.Fatalf("Symlink failed: %v", err) } err = os.Mkdir(wd+"/store/ws2", 0755) if err != nil { t.Fatalf("Mkdir failed: %v", err) } os.Symlink(wd+"/ro", wd+"/store/ws2/READONLY") if err != nil { t.Fatalf("Symlink failed: %v", err) } err = os.Symlink(wd+"/store/foo", wd+"/mnt/config/bar") if err != nil { t.Fatalf("Symlink failed: %v", err) } err = os.Symlink(wd+"/store/foo", wd+"/mnt/config/foo") code := fuse.ToStatus(err) if code != fuse.EBUSY { t.Error("Should return EBUSY", err) } err = os.Symlink(wd+"/store/ws2", wd+"/mnt/config/config") code = fuse.ToStatus(err) if code != fuse.EINVAL { t.Error("Should return EINVAL", err) } }
func TestUnionFsChown(t *testing.T) { wd, clean := setupUfs(t) defer clean() ro_fn := wd + "/ro/file" m_fn := wd + "/mnt/file" WriteFile(t, ro_fn, "a") err := os.Chown(m_fn, 0, 0) code := fuse.ToStatus(err) if code != fuse.EPERM { t.Error("Unexpected error code", code, err) } }