1
0
mirror of https://github.com/golang/go synced 2024-11-23 16:20:04 -07:00

runtime: fix TestAbort on non-x86 arches

CL 122515 tightened TestAbort to look for breakpoint exceptions and
not just general signal crashes, but this only applies on x86 arches.
On non-x86 arches we use a nil pointer dereference to abort, so the
test is now failing.

This CL re-loosens TestAbort on non-x86 arches to only expect a signal
traceback.

Should fix the build on linux/arm, linux/arm64, linux/ppc64, and
linux/s390x.

Change-Id: I1065341180ab5ab4da63b406c641dcde93c9490b
Reviewed-on: https://go-review.googlesource.com/122580
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Austin Clements 2018-07-08 00:21:27 -04:00
parent b001ffb864
commit 5cb1b1773f

View File

@ -648,13 +648,19 @@ func TestAbort(t *testing.T) {
if strings.Contains(output, "BAD") { if strings.Contains(output, "BAD") {
t.Errorf("output contains BAD:\n%s", output) t.Errorf("output contains BAD:\n%s", output)
} }
// Check that it's a breakpoint traceback. // Check that it's a signal traceback.
want := "SIGTRAP" want := "PC="
switch runtime.GOOS { // For systems that use a breakpoint, check specifically for that.
case "plan9": switch runtime.GOARCH {
want = "sys: breakpoint" case "386", "amd64":
case "windows": switch runtime.GOOS {
want = "Exception 0x80000003" case "plan9":
want = "sys: breakpoint"
case "windows":
want = "Exception 0x80000003"
default:
want = "SIGTRAP"
}
} }
if !strings.Contains(output, want) { if !strings.Contains(output, want) {
t.Errorf("output does not contain %q:\n%s", want, output) t.Errorf("output does not contain %q:\n%s", want, output)