//user generated dockfile to build and run the test func test(path string) []byte { defer removeContainer(path) genDocFile(path) _, err := util.RunOutput("docker", "build", "-t", path, ".") if err != nil { fmt.Println(err) } out, err := util.RunOutput("docker", "run", "-i", "--name="+path, imageName, "go", "run", "/home/main.go") if err != nil { fmt.Println(err) } return out }
//use command sed repleace SRCFILE to real source file func genDocFile(path string) error { out, err := util.RunOutput("sed", "s/SRCFILE/"+path+"/g", "Seedfile") if err != nil { return err } _, err = util.WriteFile("Dockerfile", out) if err != nil { return err } return nil }