in setuptest/tfutils.go [92:127]
func setup(t *testing.T, moduleDir, testDir string, prep PrepFunc) (Response, error) {
resp := Response{}
subdir := filepath.Join(moduleDir, testDir)
_, err := os.Stat(subdir)
if os.IsNotExist(err) {
return resp, err
}
resp.t = t
tmp, cleanup, err := CopyTerraformFolderToTempAndCleanUp(t, moduleDir, testDir)
if err != nil {
return resp, err
}
resp.TmpDir = tmp
resp.Options = getDefaultTerraformOptions(t, tmp)
if prep != nil {
err = prep(resp)
if err != nil {
return resp, err
}
}
l := testExecutor(executor{}).Logger()
resp.Options.Logger = logger.New(l)
funcs := []func() error{cleanup}
c, ok := l.(io.Closer)
if ok {
funcs = append(funcs, c.Close)
}
resp.Cleanup = func() {
for _, fn := range funcs {
_ = fn()
}
}
return resp, nil
}