diff --git a/test/secbench/secbench.go b/test/secbench/secbench.go index 7e56e72bd..a41230d77 100644 --- a/test/secbench/secbench.go +++ b/test/secbench/secbench.go @@ -21,7 +21,6 @@ import ( "io" "os" "os/exec" - "sync" "testing" "time" @@ -85,14 +84,6 @@ func runRequest(runReq secbenchdef.BenchRunRequest) (secbenchdef.BenchRunRespons return secbenchdef.BenchRunResponse{}, fmt.Errorf("cannot attach pipe to stdout: %v", err) } defer stdout.Close() - var stdoutData []byte - var stdoutErr error - var stdoutWait sync.WaitGroup - stdoutWait.Add(1) - go func() { - defer stdoutWait.Done() - stdoutData, stdoutErr = io.ReadAll(stdout) - }() if err := cmd.Start(); err != nil { return secbenchdef.BenchRunResponse{}, fmt.Errorf("cannot start runner: %v", err) } @@ -102,13 +93,13 @@ func runRequest(runReq secbenchdef.BenchRunRequest) (secbenchdef.BenchRunRespons if err := stdin.Close(); err != nil { return secbenchdef.BenchRunResponse{}, fmt.Errorf("cannot close runner stdin pipe: %v", err) } + stdoutData, err := io.ReadAll(stdout) + if err != nil { + return secbenchdef.BenchRunResponse{}, fmt.Errorf("failed to read from runner stdout: %v", err) + } if err := cmd.Wait(); err != nil { return secbenchdef.BenchRunResponse{}, fmt.Errorf("runner failed: %v", err) } - stdoutWait.Wait() - if stdoutErr != nil { - return secbenchdef.BenchRunResponse{}, fmt.Errorf("failed to read from runner stdout: %v", stdoutErr) - } var runResp secbenchdef.BenchRunResponse if err := json.Unmarshal(stdoutData, &runResp); err != nil { return secbenchdef.BenchRunResponse{}, fmt.Errorf("cannot unmarshal response: %v", err)