cmd/dist: list only supported platforms
Introduce an incomplete map in dist alongside cgoEnabled and filter out
the incomplete ports in 'dist list'.
Fixes #28944
Change-Id: I15aae56aec570e1cd9e28906900cd5ba0db77811
Reviewed-on: https://go-review.googlesource.com/c/155839
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/src/cmd/dist/build.go b/src/cmd/dist/build.go
index da677c8..ad2c964 100644
--- a/src/cmd/dist/build.go
+++ b/src/cmd/dist/build.go
@@ -1458,6 +1458,13 @@
"windows/arm": false,
}
+// List of platforms which are supported but not complete yet. These get
+// filtered out of cgoEnabled for 'dist list'. See golang.org/issue/28944
+var incomplete = map[string]bool{
+ "linux/riscv64": true,
+ "linux/sparc64": true,
+}
+
func needCC() bool {
switch os.Getenv("CGO_ENABLED") {
case "1":
@@ -1576,6 +1583,9 @@
var plats []string
for p := range cgoEnabled {
+ if incomplete[p] {
+ continue
+ }
plats = append(plats, p)
}
sort.Strings(plats)
diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go
index 82e2e17..74cee8f 100644
--- a/src/cmd/dist/test.go
+++ b/src/cmd/dist/test.go
@@ -212,6 +212,9 @@
if t.failed {
fmt.Println("\nFAILED")
os.Exit(1)
+ } else if incomplete[goos+"/"+goarch] {
+ fmt.Println("\nFAILED (incomplete port)")
+ os.Exit(1)
} else if t.partial {
fmt.Println("\nALL TESTS PASSED (some were excluded)")
} else {