aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/api
diff options
context:
space:
mode:
authorShenghou Ma <minux@golang.org>2015-04-08 04:27:58 -0400
committerMinux Ma <minux@golang.org>2015-04-08 08:46:42 +0000
commita50b24c649f09e5b65e707fc634637aa984b9d96 (patch)
tree2d4c9ef1977e2e8c019f08c7a1482c7891fd08cf /src/cmd/api
parent63d72f69011a47234d61380849c466f416459d8c (diff)
downloadgo-a50b24c649f09e5b65e707fc634637aa984b9d96.tar.gz
go-a50b24c649f09e5b65e707fc634637aa984b9d96.zip
cmd/api: make the test more robust
Previously, the TestCompareAPI test would fail if runtime.Version() is "dev", or, more importantly, "go1.5"; because compareAPI depends on runtime.Version and -allow_new flag. Move that logic out make its test more robust. Change-Id: I8f40daa1838b8acd26adac8848762d95315053b0 Reviewed-on: https://go-review.googlesource.com/8622 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/cmd/api')
-rw-r--r--src/cmd/api/goapi.go7
-rw-r--r--src/cmd/api/goapi_test.go2
2 files changed, 5 insertions, 4 deletions
diff --git a/src/cmd/api/goapi.go b/src/cmd/api/goapi.go
index c42416db9e..7b2c643e11 100644
--- a/src/cmd/api/goapi.go
+++ b/src/cmd/api/goapi.go
@@ -202,7 +202,8 @@ func main() {
}
optional := fileFeatures(*nextFile)
exception := fileFeatures(*exceptFile)
- fail = !compareAPI(bw, features, required, optional, exception)
+ fail = !compareAPI(bw, features, required, optional, exception,
+ *allowNew && strings.Contains(runtime.Version(), "devel"))
}
// export emits the exported package features.
@@ -238,7 +239,7 @@ func featureWithoutContext(f string) string {
return spaceParensRx.ReplaceAllString(f, "")
}
-func compareAPI(w io.Writer, features, required, optional, exception []string) (ok bool) {
+func compareAPI(w io.Writer, features, required, optional, exception []string, allowAdd bool) (ok bool) {
ok = true
optionalSet := set(optional)
@@ -280,7 +281,7 @@ func compareAPI(w io.Writer, features, required, optional, exception []string) (
delete(optionalSet, newFeature)
} else {
fmt.Fprintf(w, "+%s\n", newFeature)
- if !*allowNew || !strings.Contains(runtime.Version(), "devel") {
+ if !allowAdd {
ok = false // we're in lock-down mode for next release
}
}
diff --git a/src/cmd/api/goapi_test.go b/src/cmd/api/goapi_test.go
index 9f5b0c8bb4..00c45c3bcd 100644
--- a/src/cmd/api/goapi_test.go
+++ b/src/cmd/api/goapi_test.go
@@ -131,7 +131,7 @@ func TestCompareAPI(t *testing.T) {
}
for _, tt := range tests {
buf := new(bytes.Buffer)
- gotok := compareAPI(buf, tt.features, tt.required, tt.optional, tt.exception)
+ gotok := compareAPI(buf, tt.features, tt.required, tt.optional, tt.exception, true)
if gotok != tt.ok {
t.Errorf("%s: ok = %v; want %v", tt.name, gotok, tt.ok)
}