mirror of
https://github.com/golang/go
synced 2024-09-29 14:14:29 -06:00
cmd/go: convert TestUserOverrideFlags to a script test
Updates #28387 Updates #30316 Change-Id: I08eb0e144387735f7a7811a82e547a581991b335 Reviewed-on: https://go-review.googlesource.com/c/go/+/207697 Run-TryBot: Bryan C. Mills <bcmills@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
4e39dd2ec3
commit
fff450256a
@ -4387,36 +4387,6 @@ func TestNeedVersion(t *testing.T) {
|
||||
tg.grepStderr("compile", "does not match go tool version")
|
||||
}
|
||||
|
||||
// Test that user can override default code generation flags.
|
||||
func TestUserOverrideFlags(t *testing.T) {
|
||||
skipIfGccgo(t, "gccgo does not use -gcflags")
|
||||
if !canCgo {
|
||||
t.Skip("skipping because cgo not enabled")
|
||||
}
|
||||
if runtime.GOOS != "linux" {
|
||||
// We are testing platform-independent code, so it's
|
||||
// OK to skip cases that work differently.
|
||||
t.Skipf("skipping on %s because test only works if c-archive implies -shared", runtime.GOOS)
|
||||
}
|
||||
|
||||
tg := testgo(t)
|
||||
defer tg.cleanup()
|
||||
// Don't call tg.parallel, as creating override.h and override.a may
|
||||
// confuse other tests.
|
||||
tg.tempFile("override.go", `package main
|
||||
|
||||
import "C"
|
||||
|
||||
//export GoFunc
|
||||
func GoFunc() {}
|
||||
|
||||
func main() {}`)
|
||||
tg.creatingTemp("override.a")
|
||||
tg.creatingTemp("override.h")
|
||||
tg.run("build", "-x", "-buildmode=c-archive", "-gcflags=all=-shared=false", tg.path("override.go"))
|
||||
tg.grepStderr("compile .*-shared .*-shared=false", "user can not override code generation flag")
|
||||
}
|
||||
|
||||
func TestCgoFlagContainsSpace(t *testing.T) {
|
||||
tooSlow(t)
|
||||
if !canCgo {
|
||||
|
21
src/cmd/go/testdata/script/build_gcflags.txt
vendored
Normal file
21
src/cmd/go/testdata/script/build_gcflags.txt
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
env GO111MODULE=off
|
||||
|
||||
# Test that the user can override default code generation flags.
|
||||
|
||||
[gccgo] skip # gccgo does not use -gcflags
|
||||
[!cgo] skip
|
||||
[!linux] skip # test only works if c-archive implies -shared
|
||||
[short] skip
|
||||
|
||||
go build -x -buildmode=c-archive -gcflags=all=-shared=false ./override.go
|
||||
stderr '^.*/compile (.* )?-shared (.* )?-shared=false'
|
||||
|
||||
-- override.go --
|
||||
package main
|
||||
|
||||
import "C"
|
||||
|
||||
//export GoFunc
|
||||
func GoFunc() {}
|
||||
|
||||
func main() {}
|
Loading…
Reference in New Issue
Block a user