lib/model: Introduce must test utility (#5586)

* lib/model: Introduce must test utility

* nice
This commit is contained in:
Simon Frei
2019-03-09 19:45:36 +01:00
committed by Audrius Butkevicius
parent 27ff20faa3
commit 189e44488e
5 changed files with 58 additions and 168 deletions

View File

@@ -21,40 +21,38 @@ type fatalOs struct {
fatal
}
func (f *fatalOs) must(fn func() error) {
func must(f fatal, err error) {
f.Helper()
if err := fn(); err != nil {
if err != nil {
f.Fatal(err)
}
}
func (f *fatalOs) Chmod(name string, mode os.FileMode) {
f.Helper()
f.must(func() error { return os.Chmod(name, mode) })
must(f, os.Chmod(name, mode))
}
func (f *fatalOs) Chtimes(name string, atime time.Time, mtime time.Time) {
f.Helper()
f.must(func() error { return os.Chtimes(name, atime, mtime) })
must(f, os.Chtimes(name, atime, mtime))
}
func (f *fatalOs) Create(name string) *os.File {
f.Helper()
file, err := os.Create(name)
if err != nil {
f.Fatal(err)
}
must(f, err)
return file
}
func (f *fatalOs) Mkdir(name string, perm os.FileMode) {
f.Helper()
f.must(func() error { return os.Mkdir(name, perm) })
must(f, os.Mkdir(name, perm))
}
func (f *fatalOs) MkdirAll(name string, perm os.FileMode) {
f.Helper()
f.must(func() error { return os.MkdirAll(name, perm) })
must(f, os.MkdirAll(name, perm))
}
func (f *fatalOs) Remove(name string) {
@@ -73,14 +71,12 @@ func (f *fatalOs) RemoveAll(name string) {
func (f *fatalOs) Rename(oldname, newname string) {
f.Helper()
f.must(func() error { return os.Rename(oldname, newname) })
must(f, os.Rename(oldname, newname))
}
func (f *fatalOs) Stat(name string) os.FileInfo {
f.Helper()
info, err := os.Stat(name)
if err != nil {
f.Fatal(err)
}
must(f, err)
return info
}