diff options
Diffstat (limited to 'src/cmd/go/testflag.go')
-rw-r--r-- | src/cmd/go/testflag.go | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/cmd/go/testflag.go b/src/cmd/go/testflag.go index 6d3b2bed3..8dd51437d 100644 --- a/src/cmd/go/testflag.go +++ b/src/cmd/go/testflag.go @@ -134,6 +134,7 @@ func testFlags(args []string) (packageNames, passToTest []string) { passToTest = append(passToTest, args[i]) continue } + var err error switch f.name { // bool flags. case "a", "c", "i", "n", "x", "v", "work", "race": @@ -141,11 +142,20 @@ func testFlags(args []string) (packageNames, passToTest []string) { case "p": setIntFlag(&buildP, value) case "gcflags": - buildGcflags = strings.Fields(value) + buildGcflags, err = splitQuotedFields(value) + if err != nil { + fatalf("invalid flag argument for -%s: %v", f.name, err) + } case "ldflags": - buildLdflags = strings.Fields(value) + buildLdflags, err = splitQuotedFields(value) + if err != nil { + fatalf("invalid flag argument for -%s: %v", f.name, err) + } case "gccgoflags": - buildGccgoflags = strings.Fields(value) + buildGccgoflags, err = splitQuotedFields(value) + if err != nil { + fatalf("invalid flag argument for -%s: %v", f.name, err) + } case "tags": buildContext.BuildTags = strings.Fields(value) case "compiler": @@ -157,6 +167,8 @@ func testFlags(args []string) (packageNames, passToTest []string) { testBench = true case "timeout": testTimeout = value + case "blockprofile", "cpuprofile", "memprofile": + testProfile = true } if extraWord { i++ |