benchMatches []string
)
-func (t *tester) registerStdTest(pkg string) {
- testName := "go_test:" + pkg
+func (t *tester) registerStdTest(pkg string, useG3 bool) {
+ heading := "Testing packages."
+ testPrefix := "go_test:"
+ gcflags := gogcflags
+ if useG3 {
+ heading = "Testing packages with -G=3."
+ testPrefix = "go_test_g3:"
+ gcflags += " -G=3"
+ }
+
+ testName := testPrefix + pkg
if t.runRx == nil || t.runRx.MatchString(testName) == t.runRxWant {
stdMatches = append(stdMatches, pkg)
}
+
t.tests = append(t.tests, distTest{
name: testName,
- heading: "Testing packages.",
+ heading: heading,
fn: func(dt *distTest) error {
if ranGoTest {
return nil
"-short=" + short(),
t.tags(),
t.timeout(timeoutSec),
- "-gcflags=all=" + gogcflags,
+ "-gcflags=all=" + gcflags,
}
if t.race {
args = append(args, "-race")
if len(t.runNames) > 0 {
for _, name := range t.runNames {
if strings.HasPrefix(name, "go_test:") {
- t.registerStdTest(strings.TrimPrefix(name, "go_test:"))
+ t.registerStdTest(strings.TrimPrefix(name, "go_test:"), false)
+ }
+ if strings.HasPrefix(name, "go_test_g3:") {
+ t.registerStdTest(strings.TrimPrefix(name, "go_test_g3:"), true)
}
if strings.HasPrefix(name, "go_test_bench:") {
t.registerRaceBenchTest(strings.TrimPrefix(name, "go_test_bench:"))
}
pkgs := strings.Fields(string(all))
for _, pkg := range pkgs {
- t.registerStdTest(pkg)
+ t.registerStdTest(pkg, true)
+ }
+ for _, pkg := range pkgs {
+ t.registerStdTest(pkg, false)
}
if t.race {
for _, pkg := range pkgs {