From: Cherry Zhang Date: Sat, 17 Oct 2020 01:42:01 +0000 (-0400) Subject: cmd/link: fix TestDWARFiOS X-Git-Tag: go1.16beta1~672 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=2ff9e01d72f718ef61c635a25db6d2084aef95eb;p=gostls13.git cmd/link: fix TestDWARFiOS Use GOOS=ios. Run "xcodebuild -showsdks" correctly. Wrap testDWARF in subtests, as it calls t.Parallel, otherwise the two calls of testDWARF will cause t.Parallel being called twice, which panics. Updates #38485. Change-Id: I614c8daa99c83cbfd05a4cfa041968d49279f16a Reviewed-on: https://go-review.googlesource.com/c/go/+/263639 Trust: Cherry Zhang Run-TryBot: Cherry Zhang Reviewed-by: Jeremy Faller Reviewed-by: Than McIntosh --- diff --git a/src/cmd/link/dwarf_test.go b/src/cmd/link/dwarf_test.go index 88480064dd..db710bed6a 100644 --- a/src/cmd/link/dwarf_test.go +++ b/src/cmd/link/dwarf_test.go @@ -195,14 +195,18 @@ func TestDWARFiOS(t *testing.T) { } // 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 { + 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" // iOS doesn't allow unmapped segments, so iOS executables don't have DWARF. - testDWARF(t, "", false, cc, "CGO_ENABLED=1", "GOOS=darwin", "GOARCH=arm64") + t.Run("exe", func(t *testing.T) { + testDWARF(t, "", false, cc, "CGO_ENABLED=1", "GOOS=ios", "GOARCH=arm64") + }) // However, c-archive iOS objects have embedded DWARF. - testDWARF(t, "c-archive", true, cc, "CGO_ENABLED=1", "GOOS=darwin", "GOARCH=arm64") + t.Run("c-archive", func(t *testing.T) { + testDWARF(t, "c-archive", true, cc, "CGO_ENABLED=1", "GOOS=ios", "GOARCH=arm64") + }) }