package engine import ( "fmt" "github.com/dotcloud/docker/utils" "io/ioutil" "runtime" "strings" "testing" ) var globalTestID string func newTestEngine(t *testing.T) *Engine { // Use the caller function name as a prefix. // This helps trace temp directories back to their test. pc, _, _, _ := runtime.Caller(1) callerLongName := runtime.FuncForPC(pc).Name() parts := strings.Split(callerLongName, ".") callerShortName := parts[len(parts)-1] if globalTestID == "" { globalTestID = utils.RandomString()[:4] } prefix := fmt.Sprintf("docker-test%s-%s-", globalTestID, callerShortName) root, err := ioutil.TempDir("", prefix) if err != nil { t.Fatal(err) } eng, err := New(root) if err != nil { t.Fatal(err) } return eng } func mkJob(t *testing.T, name string, args ...string) *Job { return newTestEngine(t).Job(name, args...) }