From 3dd2c9cd212bebf53f0f8012b75a37014a618365 Mon Sep 17 00:00:00 2001 From: jichangjun Date: Mon, 15 Jun 2020 15:54:36 +0800 Subject: [PATCH] capture logs when executing goc run --- cmd/run.go | 1 + pkg/build/build.go | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/cmd/run.go b/cmd/run.go index 8863985..1bac99a 100644 --- a/cmd/run.go +++ b/cmd/run.go @@ -40,6 +40,7 @@ goc run . gocBuild.GoRunExecFlag = goRunExecFlag gocBuild.GoRunArguments = goRunArguments defer gocBuild.Clean() + // start goc server var l = newLocalListener() go cover.GocServer(ioutil.Discard).RunListener(l) diff --git a/pkg/build/build.go b/pkg/build/build.go index 983ddb2..8f62041 100644 --- a/pkg/build/build.go +++ b/pkg/build/build.go @@ -130,11 +130,15 @@ func (b *Build) Run() { } log.Printf("go build cmd is: %v", cmd.Args) - out, err := cmd.CombinedOutput() + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + err := cmd.Start() if err != nil { - log.Fatalf("Fail to execute: %v. The error is: %v, the stdout/stderr is: %v", cmd.Args, err, string(out)) + log.Fatalf("Fail to start command: %v. The error is: %v", cmd.Args, err) } - if len(out) > 0 { - fmt.Println(string(out)) + + if err = cmd.Wait(); err != nil { + log.Fatalf("Fail to execute command: %v. The error is: %v", cmd.Args, err) } + }