diff options
Diffstat (limited to 'libgo/go/cmd/go/internal/test/testflag.go')
-rw-r--r-- | libgo/go/cmd/go/internal/test/testflag.go | 8 |
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) |