aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/api/goapi_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/api/goapi_test.go')
-rw-r--r--src/cmd/api/goapi_test.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/cmd/api/goapi_test.go b/src/cmd/api/goapi_test.go
index a1e762bafc..b909c32b34 100644
--- a/src/cmd/api/goapi_test.go
+++ b/src/cmd/api/goapi_test.go
@@ -10,8 +10,10 @@ import (
"bytes"
"flag"
"fmt"
+ "go/build"
"io/ioutil"
"os"
+ "os/exec"
"path/filepath"
"sort"
"strings"
@@ -139,3 +141,28 @@ func TestCompareAPI(t *testing.T) {
}
}
}
+
+func BenchmarkAll(b *testing.B) {
+ stds, err := exec.Command("go", "list", "std").Output()
+ if err != nil {
+ b.Fatal(err)
+ }
+ b.ResetTimer()
+ pkgNames := strings.Fields(string(stds))
+
+ for _, c := range contexts {
+ c.Compiler = build.Default.Compiler
+ }
+
+ for i := 0; i < b.N; i++ {
+ for _, context := range contexts {
+ w := NewWalker(context, filepath.Join(build.Default.GOROOT, "src/pkg"))
+ for _, name := range pkgNames {
+ if name != "unsafe" && !strings.HasPrefix(name, "cmd/") {
+ w.export(w.Import(name))
+ }
+ }
+ w.Features()
+ }
+ }
+}