...
1 package utils
2
3 import (
4 "os"
5 "testing"
6 )
7
8 func TestDeleteDirs(t *testing.T) {
9 test_remove_all(t, "/tmp/testdir")
10 }
11 func test_remove_all(t *testing.T, dir string) {
12 err := RecreateSafely(dir)
13 if err != nil {
14 t.Fatalf("failed to create dir %s: %s", dir, err)
15 }
16 subdir := dir + "/subdir"
17 os.MkdirAll(subdir, 0777)
18 fname := subdir + "/foobar"
19 err = WriteFile(fname, []byte("foo"))
20 if err != nil {
21 t.Fatalf("failed to write to dir %s: %s", dir, err)
22 }
23 err = os.Chmod(fname, 000)
24 if err != nil {
25 t.Fatalf("failed to chmod %s: %s", fname, err)
26 }
27 err = os.Chmod(subdir, 000)
28 if err != nil {
29 t.Fatalf("failed to chmod %s: %s", subdir, err)
30 }
31 err = RemoveAll(dir)
32 if err != nil {
33 t.Fatalf("failed to removeall() dir %s: %s", dir, err)
34 }
35 if FileExists(dir) {
36 t.Fatalf("failed to delete dir %s (no error)", dir)
37 }
38 }
39
View as plain text