Merge pull request #93 from moorereason/no-defer-on-err
Immediately check for errors on fs.Open
diff --git a/.travis.yml b/.travis.yml
index b52758e..c24eebf 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,7 +3,8 @@
go:
- 1.5.4
- - 1.6.2
+ - 1.6.3
+ - 1.7
- tip
os:
@@ -13,6 +14,7 @@
matrix:
allow_failures:
- go: tip
+ fast_finish: true
script:
- go test -v ./...
diff --git a/README.md b/README.md
index da4c956..db20817 100644
--- a/README.md
+++ b/README.md
@@ -201,8 +201,8 @@
appFS = afero.NewMemMapFs()
// create test files and directories
appFS.MkdirAll("src/a", 0755))
- appFS.WriteFile("src/a/b", []byte("file b"), 0644)
- appFS.WriteFile("src/c", []byte("file c"), 0644)
+ afero.WriteFile(appFS, "src/a/b", []byte("file b"), 0644)
+ afero.WriteFile(appFS, "src/c", []byte("file c"), 0644)
_, err := appFS.Stat("src/c")
if os.IsNotExist(err) {
t.Errorf("file \"%s\" does not exist.\n", name)
diff --git a/mem/file.go b/mem/file.go
index be3673e..9096ff0 100644
--- a/mem/file.go
+++ b/mem/file.go
@@ -107,6 +107,8 @@
}
func (f *File) Name() string {
+ f.fileData.Lock()
+ defer f.fileData.Unlock()
return f.fileData.name
}
diff --git a/memmap.go b/memmap.go
index f577ac8..2e259b8 100644
--- a/memmap.go
+++ b/memmap.go
@@ -66,7 +66,7 @@
}
parent := m.findParent(f)
if parent == nil {
- log.Fatal("parent of ", f.Name(), " is nil")
+ log.Panic("parent of ", f.Name(), " is nil")
}
mem.RemoveFromMemDir(parent, f)
return nil
diff --git a/util.go b/util.go
index 84030c2..2f44e6a 100644
--- a/util.go
+++ b/util.go
@@ -46,7 +46,7 @@
err = fs.MkdirAll(ospath, 0777) // rwx, rw, r
if err != nil {
if err != os.ErrExist {
- log.Fatalln(err)
+ log.Panicln(err)
}
}
}