// 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++ {
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)
})
// Process args.
- args = str.StringList(cmdflag.FindGOFLAGS(vetFlagDefn), args)
+ goflags := cmdflag.FindGOFLAGS(vetFlagDefn)
+ args = str.StringList(goflags, args)
for i := 0; i < len(args); i++ {
if !strings.HasPrefix(args[i], "-") {
return args[:i], args[i:]
base.SetExitStatus(2)
base.Exit()
}
+ 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)