1
0
mirror of https://github.com/golang/go synced 2024-11-18 10:34:51 -07:00

[dev.link] cmd/link: skip TestDWARFiOS if the iOS tools aren't installed

Change-Id: I5bccb5935cdeb3a0ccf398a57eb4776f0e6aedca
Reviewed-on: https://go-review.googlesource.com/c/go/+/234578
Run-TryBot: Jeremy Faller <jeremy@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
This commit is contained in:
Jeremy Faller 2020-05-19 10:53:41 -04:00
parent 76a459b361
commit 7214090180

View File

@ -191,6 +191,13 @@ func TestDWARFiOS(t *testing.T) {
if err := exec.Command("xcrun", "--help").Run(); err != nil { if err := exec.Command("xcrun", "--help").Run(); err != nil {
t.Skipf("error running xcrun, required for iOS cross build: %v", err) t.Skipf("error running xcrun, required for iOS cross build: %v", err)
} }
// Check to see if the ios tools are installed. It's possible to have the command line tools
// installed without the iOS sdk.
if output, err := exec.Command("xcodebuild -showsdks").CombinedOutput(); err != nil {
t.Skipf("error running xcodebuild, required for iOS cross build: %v", err)
} else if !strings.Contains(string(output), "iOS SDK") {
t.Skipf("iOS SDK not detected.")
}
cc := "CC=" + runtime.GOROOT() + "/misc/ios/clangwrap.sh" cc := "CC=" + runtime.GOROOT() + "/misc/ios/clangwrap.sh"
// iOS doesn't allow unmapped segments, so iOS executables don't have DWARF. // iOS doesn't allow unmapped segments, so iOS executables don't have DWARF.
testDWARF(t, "", false, cc, "CGO_ENABLED=1", "GOOS=darwin", "GOARCH=arm64") testDWARF(t, "", false, cc, "CGO_ENABLED=1", "GOOS=darwin", "GOARCH=arm64")