From 8272a307cfbb297196f571aafa0d120bed095eb4 Mon Sep 17 00:00:00 2001 From: gedi Date: Tue, 14 Jun 2016 18:02:31 +0300 Subject: [PATCH] make sure godog package is installed before compilation of test package --- builder.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/builder.go b/builder.go index bfee547..05d16ef 100644 --- a/builder.go +++ b/builder.go @@ -116,7 +116,14 @@ func Build() (string, error) { return bin, err } - // @TODO: may be a case that godog dependency is not installed. may need to install it + // make sure godog package archive is installed, gherkin is not necessary at this point + cmd := exec.Command("go", "install", godogPkg.ImportPath) + cmd.Env = os.Environ() + out, err = cmd.CombinedOutput() + if err != nil { + return bin, fmt.Errorf("failed to install godog package:\n%s", string(out)) + } + pkgDir := filepath.Join(godogPkg.PkgRoot, build.Default.GOOS+"_"+build.Default.GOARCH) pkgDirs := []string{testdir, workdir, pkgDir} @@ -138,7 +145,7 @@ func Build() (string, error) { args = append(args, "-I", inc) } args = append(args, "-pack", testmain) - cmd := exec.Command("go", args...) + cmd = exec.Command("go", args...) cmd.Env = os.Environ() out, err = cmd.CombinedOutput() if err != nil {