]> Cypherpunks.ru repositories - gostls13.git/commitdiff
runtime: fix TestAbort on non-x86 arches
authorAustin Clements <austin@google.com>
Sun, 8 Jul 2018 04:21:27 +0000 (00:21 -0400)
committerAustin Clements <austin@google.com>
Sun, 8 Jul 2018 19:25:13 +0000 (19:25 +0000)
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>
src/runtime/crash_test.go

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