aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBryan C. Mills <bcmills@google.com>2019-02-20 18:11:11 -0500
committerBryan C. Mills <bcmills@google.com>2019-02-26 02:45:57 +0000
commit50bb2b6b0f11e4e3ef73aee55946cd4da546f6b1 (patch)
treeecc65d5c241151d61ed248c5c215a98a47810c50 /src
parent1670da9ee4aabe3a9e35703d5ca34265d2294e99 (diff)
downloadgo-50bb2b6b0f11e4e3ef73aee55946cd4da546f6b1.tar.xz
cmd/go: allow "stdout" and "stderr" as inputs to script_test "cp" command
Updates #30241 Change-Id: I543d8914faf810835d3327baa3c84b3dff124156 Reviewed-on: https://go-review.googlesource.com/c/163519 Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/go/script_test.go29
-rw-r--r--src/cmd/go/testdata/script/README2
2 files changed, 25 insertions, 6 deletions
diff --git a/src/cmd/go/script_test.go b/src/cmd/go/script_test.go
index c56c1fd3e4..9cc2521e79 100644
--- a/src/cmd/go/script_test.go
+++ b/src/cmd/go/script_test.go
@@ -509,16 +509,33 @@ func (ts *testScript) cmdCp(neg bool, args []string) {
}
for _, arg := range args[:len(args)-1] {
- src := ts.mkabs(arg)
- info, err := os.Stat(src)
- ts.check(err)
- data, err := ioutil.ReadFile(src)
- ts.check(err)
+ var (
+ src string
+ data []byte
+ mode os.FileMode
+ )
+ switch arg {
+ case "stdout":
+ src = arg
+ data = []byte(ts.stdout)
+ mode = 0666
+ case "stderr":
+ src = arg
+ data = []byte(ts.stderr)
+ mode = 0666
+ default:
+ src = ts.mkabs(arg)
+ info, err := os.Stat(src)
+ ts.check(err)
+ mode = info.Mode() & 0777
+ data, err = ioutil.ReadFile(src)
+ ts.check(err)
+ }
targ := dst
if dstDir {
targ = filepath.Join(dst, filepath.Base(src))
}
- ts.check(ioutil.WriteFile(targ, data, info.Mode()&0777))
+ ts.check(ioutil.WriteFile(targ, data, mode))
}
}
diff --git a/src/cmd/go/testdata/script/README b/src/cmd/go/testdata/script/README
index a7b50fff16..0c34333823 100644
--- a/src/cmd/go/testdata/script/README
+++ b/src/cmd/go/testdata/script/README
@@ -108,6 +108,8 @@ The commands are:
- cp src... dst
Copy the listed files to the target file or existing directory.
+ src can include "stdout" or "stderr" to use the standard output or standard error
+ from the most recent exec or go command.
- env [key=value...]
With no arguments, print the environment (useful for debugging).