1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/pkg/testutil/tempfile/tempfile.go
Daniel Nephin 7c556849aa Add testutil/tempfile
Improve error messages raised by assert.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
2016-08-25 13:09:03 -04:00

36 lines
786 B
Go

package tempfile
import (
"io/ioutil"
"os"
"github.com/docker/docker/pkg/testutil/assert"
)
// TempFile is a temporary file that can be used with unit tests. TempFile
// reduces the boilerplate setup required in each test case by handling
// setup errors.
type TempFile struct {
File *os.File
}
// NewTempFile returns a new temp file with contents
func NewTempFile(t assert.TestingT, prefix string, content string) *TempFile {
file, err := ioutil.TempFile("", prefix+"-")
assert.NilError(t, err)
_, err = file.Write([]byte(content))
assert.NilError(t, err)
file.Close()
return &TempFile{File: file}
}
// Name returns the filename
func (f *TempFile) Name() string {
return f.File.Name()
}
// Remove removes the file
func (f *TempFile) Remove() {
os.Remove(f.Name())
}