OSDN Git Service

Thanos did someting
[bytom/vapor.git] / vendor / github.com / spf13 / afero / composite_test.go
diff --git a/vendor/github.com/spf13/afero/composite_test.go b/vendor/github.com/spf13/afero/composite_test.go
deleted file mode 100644 (file)
index 8e44611..0000000
+++ /dev/null
@@ -1,404 +0,0 @@
-package afero
-
-import (
-       "bytes"
-       "fmt"
-       "io/ioutil"
-       "os"
-       "testing"
-       "time"
-)
-
-var tempDirs []string
-
-func NewTempOsBaseFs(t *testing.T) Fs {
-       name, err := TempDir(NewOsFs(), "", "")
-       if err != nil {
-               t.Error("error creating tempDir", err)
-       }
-
-       tempDirs = append(tempDirs, name)
-
-       return NewBasePathFs(NewOsFs(), name)
-}
-
-func CleanupTempDirs(t *testing.T) {
-       osfs := NewOsFs()
-       type ev struct {
-               path string
-               e    error
-       }
-
-       errs := []ev{}
-
-       for _, x := range tempDirs {
-               err := osfs.RemoveAll(x)
-               if err != nil {
-                       errs = append(errs, ev{path: x, e: err})
-               }
-       }
-
-       for _, e := range errs {
-               fmt.Println("error removing tempDir", e.path, e.e)
-       }
-
-       if len(errs) > 0 {
-               t.Error("error cleaning up tempDirs")
-       }
-       tempDirs = []string{}
-}
-
-func TestUnionCreateExisting(t *testing.T) {
-       base := &MemMapFs{}
-       roBase := &ReadOnlyFs{source: base}
-
-       ufs := NewCopyOnWriteFs(roBase, &MemMapFs{})
-
-       base.MkdirAll("/home/test", 0777)
-       fh, _ := base.Create("/home/test/file.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-
-       fh, err := ufs.OpenFile("/home/test/file.txt", os.O_RDWR, 0666)
-       if err != nil {
-               t.Errorf("Failed to open file r/w: %s", err)
-       }
-
-       _, err = fh.Write([]byte("####"))
-       if err != nil {
-               t.Errorf("Failed to write file: %s", err)
-       }
-       fh.Seek(0, 0)
-       data, err := ioutil.ReadAll(fh)
-       if err != nil {
-               t.Errorf("Failed to read file: %s", err)
-       }
-       if string(data) != "#### is a test" {
-               t.Errorf("Got wrong data")
-       }
-       fh.Close()
-
-       fh, _ = base.Open("/home/test/file.txt")
-       data, err = ioutil.ReadAll(fh)
-       if string(data) != "This is a test" {
-               t.Errorf("Got wrong data in base file")
-       }
-       fh.Close()
-
-       fh, err = ufs.Create("/home/test/file.txt")
-       switch err {
-       case nil:
-               if fi, _ := fh.Stat(); fi.Size() != 0 {
-                       t.Errorf("Create did not truncate file")
-               }
-               fh.Close()
-       default:
-               t.Errorf("Create failed on existing file")
-       }
-
-}
-
-func TestUnionMergeReaddir(t *testing.T) {
-       base := &MemMapFs{}
-       roBase := &ReadOnlyFs{source: base}
-
-       ufs := &CopyOnWriteFs{base: roBase, layer: &MemMapFs{}}
-
-       base.MkdirAll("/home/test", 0777)
-       fh, _ := base.Create("/home/test/file.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-
-       fh, _ = ufs.Create("/home/test/file2.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-
-       fh, _ = ufs.Open("/home/test")
-       files, err := fh.Readdirnames(-1)
-       if err != nil {
-               t.Errorf("Readdirnames failed")
-       }
-       if len(files) != 2 {
-               t.Errorf("Got wrong number of files: %v", files)
-       }
-}
-
-func TestExistingDirectoryCollisionReaddir(t *testing.T) {
-       base := &MemMapFs{}
-       roBase := &ReadOnlyFs{source: base}
-       overlay := &MemMapFs{}
-
-       ufs := &CopyOnWriteFs{base: roBase, layer: overlay}
-
-       base.MkdirAll("/home/test", 0777)
-       fh, _ := base.Create("/home/test/file.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-
-       overlay.MkdirAll("home/test", 0777)
-       fh, _ = overlay.Create("/home/test/file2.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-
-       fh, _ = ufs.Create("/home/test/file3.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-
-       fh, _ = ufs.Open("/home/test")
-       files, err := fh.Readdirnames(-1)
-       if err != nil {
-               t.Errorf("Readdirnames failed")
-       }
-       if len(files) != 3 {
-               t.Errorf("Got wrong number of files in union: %v", files)
-       }
-
-       fh, _ = overlay.Open("/home/test")
-       files, err = fh.Readdirnames(-1)
-       if err != nil {
-               t.Errorf("Readdirnames failed")
-       }
-       if len(files) != 2 {
-               t.Errorf("Got wrong number of files in overlay: %v", files)
-       }
-}
-
-func TestNestedDirBaseReaddir(t *testing.T) {
-       base := &MemMapFs{}
-       roBase := &ReadOnlyFs{source: base}
-       overlay := &MemMapFs{}
-
-       ufs := &CopyOnWriteFs{base: roBase, layer: overlay}
-
-       base.MkdirAll("/home/test/foo/bar", 0777)
-       fh, _ := base.Create("/home/test/file.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-
-       fh, _ = base.Create("/home/test/foo/file2.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-       fh, _ = base.Create("/home/test/foo/bar/file3.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-
-       overlay.MkdirAll("/", 0777)
-
-       // Opening something only in the base
-       fh, _ = ufs.Open("/home/test/foo")
-       list, err := fh.Readdir(-1)
-       if err != nil {
-               t.Errorf("Readdir failed %s", err)
-       }
-       if len(list) != 2 {
-               for _, x := range list {
-                       fmt.Println(x.Name())
-               }
-               t.Errorf("Got wrong number of files in union: %v", len(list))
-       }
-}
-
-func TestNestedDirOverlayReaddir(t *testing.T) {
-       base := &MemMapFs{}
-       roBase := &ReadOnlyFs{source: base}
-       overlay := &MemMapFs{}
-
-       ufs := &CopyOnWriteFs{base: roBase, layer: overlay}
-
-       base.MkdirAll("/", 0777)
-       overlay.MkdirAll("/home/test/foo/bar", 0777)
-       fh, _ := overlay.Create("/home/test/file.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-       fh, _ = overlay.Create("/home/test/foo/file2.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-       fh, _ = overlay.Create("/home/test/foo/bar/file3.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-
-       // Opening nested dir only in the overlay
-       fh, _ = ufs.Open("/home/test/foo")
-       list, err := fh.Readdir(-1)
-       if err != nil {
-               t.Errorf("Readdir failed %s", err)
-       }
-       if len(list) != 2 {
-               for _, x := range list {
-                       fmt.Println(x.Name())
-               }
-               t.Errorf("Got wrong number of files in union: %v", len(list))
-       }
-}
-
-func TestNestedDirOverlayOsFsReaddir(t *testing.T) {
-       defer CleanupTempDirs(t)
-       base := NewTempOsBaseFs(t)
-       roBase := &ReadOnlyFs{source: base}
-       overlay := NewTempOsBaseFs(t)
-
-       ufs := &CopyOnWriteFs{base: roBase, layer: overlay}
-
-       base.MkdirAll("/", 0777)
-       overlay.MkdirAll("/home/test/foo/bar", 0777)
-       fh, _ := overlay.Create("/home/test/file.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-       fh, _ = overlay.Create("/home/test/foo/file2.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-       fh, _ = overlay.Create("/home/test/foo/bar/file3.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-
-       // Opening nested dir only in the overlay
-       fh, _ = ufs.Open("/home/test/foo")
-       list, err := fh.Readdir(-1)
-       fh.Close()
-       if err != nil {
-               t.Errorf("Readdir failed %s", err)
-       }
-       if len(list) != 2 {
-               for _, x := range list {
-                       fmt.Println(x.Name())
-               }
-               t.Errorf("Got wrong number of files in union: %v", len(list))
-       }
-}
-
-func TestCopyOnWriteFsWithOsFs(t *testing.T) {
-       defer CleanupTempDirs(t)
-       base := NewTempOsBaseFs(t)
-       roBase := &ReadOnlyFs{source: base}
-       overlay := NewTempOsBaseFs(t)
-
-       ufs := &CopyOnWriteFs{base: roBase, layer: overlay}
-
-       base.MkdirAll("/home/test", 0777)
-       fh, _ := base.Create("/home/test/file.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-
-       overlay.MkdirAll("home/test", 0777)
-       fh, _ = overlay.Create("/home/test/file2.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-
-       fh, _ = ufs.Create("/home/test/file3.txt")
-       fh.WriteString("This is a test")
-       fh.Close()
-
-       fh, _ = ufs.Open("/home/test")
-       files, err := fh.Readdirnames(-1)
-       fh.Close()
-       if err != nil {
-               t.Errorf("Readdirnames failed")
-       }
-       if len(files) != 3 {
-               t.Errorf("Got wrong number of files in union: %v", files)
-       }
-
-       fh, _ = overlay.Open("/home/test")
-       files, err = fh.Readdirnames(-1)
-       fh.Close()
-       if err != nil {
-               t.Errorf("Readdirnames failed")
-       }
-       if len(files) != 2 {
-               t.Errorf("Got wrong number of files in overlay: %v", files)
-       }
-}
-
-func TestUnionCacheWrite(t *testing.T) {
-       base := &MemMapFs{}
-       layer := &MemMapFs{}
-
-       ufs := NewCacheOnReadFs(base, layer, 0)
-
-       base.Mkdir("/data", 0777)
-
-       fh, err := ufs.Create("/data/file.txt")
-       if err != nil {
-               t.Errorf("Failed to create file")
-       }
-       _, err = fh.Write([]byte("This is a test"))
-       if err != nil {
-               t.Errorf("Failed to write file")
-       }
-
-       fh.Seek(0, os.SEEK_SET)
-       buf := make([]byte, 4)
-       _, err = fh.Read(buf)
-       fh.Write([]byte(" IS A"))
-       fh.Close()
-
-       baseData, _ := ReadFile(base, "/data/file.txt")
-       layerData, _ := ReadFile(layer, "/data/file.txt")
-       if string(baseData) != string(layerData) {
-               t.Errorf("Different data: %s <=> %s", baseData, layerData)
-       }
-}
-
-func TestUnionCacheExpire(t *testing.T) {
-       base := &MemMapFs{}
-       layer := &MemMapFs{}
-       ufs := &CacheOnReadFs{base: base, layer: layer, cacheTime: 1 * time.Second}
-
-       base.Mkdir("/data", 0777)
-
-       fh, err := ufs.Create("/data/file.txt")
-       if err != nil {
-               t.Errorf("Failed to create file")
-       }
-       _, err = fh.Write([]byte("This is a test"))
-       if err != nil {
-               t.Errorf("Failed to write file")
-       }
-       fh.Close()
-
-       fh, _ = base.Create("/data/file.txt")
-       // sleep some time, so we really get a different time.Now() on write...
-       time.Sleep(2 * time.Second)
-       fh.WriteString("Another test")
-       fh.Close()
-
-       data, _ := ReadFile(ufs, "/data/file.txt")
-       if string(data) != "Another test" {
-               t.Errorf("cache time failed: <%s>", data)
-       }
-}
-
-func TestCacheOnReadFsNotInLayer(t *testing.T) {
-       base := NewMemMapFs()
-       layer := NewMemMapFs()
-       fs := NewCacheOnReadFs(base, layer, 0)
-
-       fh, err := base.Create("/file.txt")
-       if err != nil {
-               t.Fatal("unable to create file: ", err)
-       }
-
-       txt := []byte("This is a test")
-       fh.Write(txt)
-       fh.Close()
-
-       fh, err = fs.Open("/file.txt")
-       if err != nil {
-               t.Fatal("could not open file: ", err)
-       }
-
-       b, err := ReadAll(fh)
-       fh.Close()
-
-       if err != nil {
-               t.Fatal("could not read file: ", err)
-       } else if !bytes.Equal(txt, b) {
-               t.Fatalf("wanted file text %q, got %q", txt, b)
-       }
-
-       fh, err = layer.Open("/file.txt")
-       if err != nil {
-               t.Fatal("could not open file from layer: ", err)
-       }
-       fh.Close()
-}