github.com/aarzilli/tools@v0.0.0-20151123112009-0d27094f75e0/os/fsi/tests/dirwalk_test.go (about) 1 // +build dirwalk 2 // go test -tags=dirwalk 3 4 package tests 5 6 import ( 7 "bytes" 8 "os" 9 "runtime" 10 "testing" 11 "time" 12 ) 13 14 func TestExtendedDirectoryAndFiles(t *testing.T) { 15 16 testRoot := "c:\\temp" 17 if runtime.GOOS != "windows" { 18 testRoot = "/tmp" 19 } 20 21 bb := new(bytes.Buffer) 22 msg := "" 23 _ = bb 24 25 os.Chdir(testRoot) 26 pwd, _ := os.Getwd() 27 if pwd == testRoot { 28 os.RemoveAll(pwd) 29 } 30 31 Fss, c := initFileSystems() 32 defer c.Close() 33 34 // Fss = Fss[0:1] 35 36 for _, fs := range Fss { 37 38 wpf(os.Stdout, "-----created fs %v %v-----\n", fs.Name(), fs.String()) 39 40 bb, msg = CreateSys(fs) 41 if msg != "" { 42 wpf(os.Stdout, msg+"\n") 43 wpf(os.Stdout, bb.String()) 44 t.Errorf("%v", msg) 45 } 46 47 bb, msg = RetrieveByReadDir(fs) 48 if msg != "" { 49 wpf(os.Stdout, msg+"\n") 50 wpf(os.Stdout, bb.String()) 51 t.Errorf("%v", msg) 52 } 53 54 bb, msg = RetrieveByQuery(fs) 55 if msg != "" { 56 wpf(os.Stdout, msg+"\n") 57 wpf(os.Stdout, bb.String()) 58 t.Errorf("%v", msg) 59 } 60 61 bb, msg = WalkDirs(fs) 62 if msg != "" { 63 wpf(os.Stdout, msg+"\n") 64 wpf(os.Stdout, bb.String()) 65 t.Errorf("%v", msg) 66 } 67 68 bb, msg = RemoveSubtree(fs) 69 if msg != "" { 70 wpf(os.Stdout, msg+"\n") 71 wpf(os.Stdout, bb.String()) 72 t.Errorf("%v", msg) 73 } 74 75 // After removal, give time, 76 // to remove directories from index too. 77 // Alternatively, the walkFunc should not return 78 // err == datastore.ErrNoSuchEntity 79 time.Sleep(5 * time.Millisecond) 80 81 bb, msg = WalkDirs(fs) 82 if msg != "" { 83 wpf(os.Stdout, msg+"\n") 84 wpf(os.Stdout, bb.String()) 85 t.Errorf("%v", msg) 86 } 87 88 bb, msg = RetrieveByQuery(fs) 89 if msg != "" { 90 wpf(os.Stdout, msg+"\n") 91 wpf(os.Stdout, bb.String()) 92 t.Errorf("%v", msg) 93 } 94 95 bb, msg = RetrieveByReadDir(fs) 96 if msg != "" { 97 wpf(os.Stdout, msg+"\n") 98 wpf(os.Stdout, bb.String()) 99 t.Errorf("%v", msg) 100 } 101 102 bb, msg = WalkDirs(fs) 103 if msg != "" { 104 wpf(os.Stdout, msg+"\n") 105 wpf(os.Stdout, bb.String()) 106 t.Errorf("%v", msg) 107 } 108 } 109 }