summaryrefslogtreecommitdiff
path: root/libgo/go/cmd/go/internal/test/testflag.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/cmd/go/internal/test/testflag.go')
-rw-r--r--libgo/go/cmd/go/internal/test/testflag.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/libgo/go/cmd/go/internal/test/testflag.go b/libgo/go/cmd/go/internal/test/testflag.go
index 138e1f9d2a2..e214b1532bd 100644
--- a/libgo/go/cmd/go/internal/test/testflag.go
+++ b/libgo/go/cmd/go/internal/test/testflag.go
@@ -65,7 +65,7 @@ var testFlagDefn = []*cmdflag.Defn{
func init() {
cmdflag.AddKnownFlags("test", testFlagDefn)
var cmd base.Command
- work.AddBuildFlags(&cmd)
+ work.AddBuildFlags(&cmd, work.DefaultBuildFlags)
cmd.Flag.VisitAll(func(f *flag.Flag) {
if f.Name == "v" {
// test overrides the build -v flag
@@ -88,7 +88,8 @@ func init() {
// go test fmt -custom-flag-for-fmt-test
// go test -x math
func testFlags(usage func(), args []string) (packageNames, passToTest []string) {
- args = str.StringList(cmdflag.FindGOFLAGS(testFlagDefn), args)
+ goflags := cmdflag.FindGOFLAGS(testFlagDefn)
+ args = str.StringList(goflags, args)
inPkg := false
var explicitArgs []string
for i := 0; i < len(args); i++ {
@@ -127,6 +128,9 @@ func testFlags(usage func(), args []string) (packageNames, passToTest []string)
passToTest = append(passToTest, args[i])
continue
}
+ if i < len(goflags) {
+ f.Present = false // Not actually present on the command line.
+ }
if f.Value != nil {
if err := f.Value.Set(value); err != nil {
base.Fatalf("invalid flag argument for -%s: %v", f.Name, err)