Merge "ref: Change gosh.Cmd.AddStdoutWriter to take an io.WriteCloser"
diff --git a/services/cluster/vkube/vkube_v23_test.go b/services/cluster/vkube/vkube_v23_test.go
index 8a1a0ae..6db39e6 100644
--- a/services/cluster/vkube/vkube_v23_test.go
+++ b/services/cluster/vkube/vkube_v23_test.go
@@ -7,7 +7,6 @@
import (
"flag"
"fmt"
- "io"
"io/ioutil"
"math/rand"
"os"
@@ -17,6 +16,7 @@
"testing"
"text/template"
+ "v.io/x/lib/gosh"
"v.io/x/lib/textutil"
"v.io/x/ref/lib/v23test"
"v.io/x/ref/test/testutil"
@@ -65,10 +65,10 @@
// Note, creds do not affect non-Vanadium commands.
c := sh.Cmd(name, args...).WithCredentials(creds)
c.ExitErrorIsOk = true
- // Wrap os.Stdout in a MultiWriter so that PrefixLineWriter.Close
- // doesn't close it.
- c.AddStdoutWriter(textutil.PrefixLineWriter(io.MultiWriter(os.Stdout), filepath.Base(name)+"> "))
+ prefix := textutil.PrefixLineWriter(os.Stdout, filepath.Base(name)+"> ")
+ c.AddStdoutWriter(gosh.NopWriteCloser(prefix))
stdout := c.Stdout()
+ prefix.Flush()
if expectSuccess && c.Err != nil {
t.Error(testutil.FormatLogLine(2, "Unexpected failure: %s %s :%v", name, strings.Join(args, " "), c.Err))
} else if !expectSuccess && c.Err == nil {
diff --git a/services/device/mgmt_v23_test.go b/services/device/mgmt_v23_test.go
index ef6e4e4..9ffb6b7 100644
--- a/services/device/mgmt_v23_test.go
+++ b/services/device/mgmt_v23_test.go
@@ -50,6 +50,7 @@
"testing"
"time"
+ "v.io/x/lib/gosh"
"v.io/x/ref"
"v.io/x/ref/lib/v23test"
_ "v.io/x/ref/runtime/factories/generic"
@@ -281,7 +282,7 @@
// if the name doesn't exist.
c := withArgs(namespaceBin, "resolve", name)
c.ExitErrorIsOk = true
- c.AddStderrWriter(os.Stderr)
+ c.AddStderrWriter(gosh.NopWriteCloser(os.Stderr))
if res = tr(c.Stdout()); len(res) > 0 {
return nil
}
@@ -473,7 +474,7 @@
// if the name doesn't exist.
c := withArgs(namespaceBin, "resolve", name)
c.ExitErrorIsOk = true
- c.AddStderrWriter(os.Stderr)
+ c.AddStderrWriter(gosh.NopWriteCloser(os.Stderr))
switch res = tr(c.Stdout()); {
case res == "":
return testutil.TryAgain(errors.New("resolve returned nothing"))
@@ -535,7 +536,7 @@
// if the name doesn't exist.
c := withArgs(namespaceBin, "resolve", name)
c.ExitErrorIsOk = true
- c.AddStderrWriter(os.Stderr)
+ c.AddStderrWriter(gosh.NopWriteCloser(os.Stderr))
if res = tr(c.Stdout()); len(res) == 0 {
return nil
}