MCPcopy
hub / github.com/syncthing/syncthing / TestInWriteableDir

Function TestInWriteableDir

lib/model/utils_test.go:17–67  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

15)
16
17func TestInWriteableDir(t *testing.T) {
18 fs := fs.NewFilesystem(fs.FilesystemTypeFake, rand.String(32))
19
20 fs.Mkdir("testdata", 0o700)
21 fs.Mkdir("testdata/rw", 0o700)
22 fs.Mkdir("testdata/ro", 0o500)
23
24 create := func(name string) error {
25 fd, err := fs.Create(name)
26 if err != nil {
27 return err
28 }
29 fd.Close()
30 return nil
31 }
32
33 // These should succeed
34
35 err := inWritableDir(create, fs, "testdata/file", false)
36 if err != nil {
37 t.Error("testdata/file:", err)
38 }
39 err = inWritableDir(create, fs, "testdata/rw/foo", false)
40 if err != nil {
41 t.Error("testdata/rw/foo:", err)
42 }
43 err = inWritableDir(fs.Remove, fs, "testdata/rw/foo", false)
44 if err != nil {
45 t.Error("testdata/rw/foo:", err)
46 }
47
48 err = inWritableDir(create, fs, "testdata/ro/foo", false)
49 if err != nil {
50 t.Error("testdata/ro/foo:", err)
51 }
52 err = inWritableDir(fs.Remove, fs, "testdata/ro/foo", false)
53 if err != nil {
54 t.Error("testdata/ro/foo:", err)
55 }
56
57 // These should not
58
59 err = inWritableDir(create, fs, "testdata/nonexistent/foo", false)
60 if err == nil {
61 t.Error("testdata/nonexistent/foo returned nil error")
62 }
63 err = inWritableDir(create, fs, "testdata/file/foo", false)
64 if err == nil {
65 t.Error("testdata/file/foo returned nil error")
66 }
67}
68
69func TestOSWindowsRemove(t *testing.T) {
70 if !build.IsWindows {

Callers

nothing calls this directly

Calls 6

MkdirMethod · 0.95
CreateMethod · 0.95
StringFunction · 0.92
inWritableDirFunction · 0.85
CloseMethod · 0.65
ErrorMethod · 0.65

Tested by

no test coverage detected