29 lines
563 B
Go
29 lines
563 B
Go
package test
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"path"
|
|
)
|
|
|
|
// TmpDir is a handler to temporary directory
|
|
type TmpDir struct {
|
|
path string
|
|
}
|
|
|
|
// Path returns the path to the temporary directory joined by the elements provided
|
|
func (c TmpDir) Path(elem ...string) string {
|
|
return path.Join(append([]string{c.path}, elem...)...)
|
|
}
|
|
|
|
// Clean removes the TmpDir
|
|
func (c TmpDir) Clean() error {
|
|
return os.RemoveAll(c.path)
|
|
}
|
|
|
|
// NewTmpDir returns a new handle to a tmp dir
|
|
func NewTmpDir(prefix string) TmpDir {
|
|
dir, _ := ioutil.TempDir("", prefix)
|
|
return TmpDir{dir}
|
|
}
|