summaryrefslogtreecommitdiff
path: root/test/linkx_run.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2015-06-29 13:03:11 -0400
committerRuss Cox <rsc@golang.org>2015-06-29 20:28:36 +0000
commit69f0d4c6bebc775cfbc50e9562b5533ba86b90c9 (patch)
treebfe8962f6daf196c42fb17db62b5a2748dcf1e52 /test/linkx_run.go
parentc418fe734a0e0566c10147ff15c4ceae541360ac (diff)
downloadgo-git-69f0d4c6bebc775cfbc50e9562b5533ba86b90c9.tar.gz
cmd/link: detect -X setting non-string variable
Fixes #9621. Change-Id: Ib9c6001378364af899f57fd4b89fb23af2042923 Reviewed-on: https://go-review.googlesource.com/11694 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Russ Cox <rsc@golang.org>
Diffstat (limited to 'test/linkx_run.go')
-rw-r--r--test/linkx_run.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/linkx_run.go b/test/linkx_run.go
index cc0f55cf92..a6c7c67014 100644
--- a/test/linkx_run.go
+++ b/test/linkx_run.go
@@ -14,6 +14,7 @@ import (
"fmt"
"os"
"os/exec"
+ "strings"
)
func main() {
@@ -49,4 +50,21 @@ func test(sep string) {
fmt.Println("-X linker flag should not accept keys without values")
os.Exit(1)
}
+
+ // Issue 9621
+ cmd = exec.Command("go", "run", "-ldflags=-X main.b=false -X main.x=42", "linkx.go")
+ outx, err := cmd.CombinedOutput()
+ if err == nil {
+ fmt.Println("-X linker flag should not overwrite non-strings")
+ os.Exit(1)
+ }
+ outstr := string(outx)
+ if !strings.Contains(outstr, "main.b") {
+ fmt.Printf("-X linker flag did not diagnose overwrite of main.b\n")
+ os.Exit(1)
+ }
+ if !strings.Contains(outstr, "main.x") {
+ fmt.Printf("-X linker flag did not diagnose overwrite of main.x\n")
+ os.Exit(1)
+ }
}