]> Cypherpunks.ru repositories - gostls13.git/commitdiff
runtime: make test independent of inlining
authorDavid Lazar <lazard@golang.org>
Wed, 19 Apr 2017 16:04:18 +0000 (12:04 -0400)
committerDavid Lazar <lazard@golang.org>
Thu, 20 Apr 2017 20:41:15 +0000 (20:41 +0000)
TestBreakpoint expects to see "runtime.Breakpoint()" in the stack trace.
If runtime.Breakpoint() is inlined, then the stack trace prints
"runtime.Breakpoint(...)" since the runtime does not have information
about arguments (or lack thereof) to inlined functions. This change
makes the test independent of inlining by looking for the string
"runtime.Breakpoint(". Now TestBreakpoint passes with -l=4.

Change-Id: Ia044a8e8a4de2337cb2b393d6fa78c73a2f25926
Reviewed-on: https://go-review.googlesource.com/40997
Run-TryBot: David Lazar <lazard@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
src/runtime/crash_test.go

index 3f84935f4eaa19d7b564dc6e25d54152e8193694..f6a0cd6cbb54f68b0db7752351b89301eabb3c70 100644 (file)
@@ -308,7 +308,9 @@ func TestNoHelperGoroutines(t *testing.T) {
 
 func TestBreakpoint(t *testing.T) {
        output := runTestProg(t, "testprog", "Breakpoint")
-       want := "runtime.Breakpoint()"
+       // If runtime.Breakpoint() is inlined, then the stack trace prints
+       // "runtime.Breakpoint(...)" instead of "runtime.Breakpoint()".
+       want := "runtime.Breakpoint("
        if !strings.Contains(output, want) {
                t.Fatalf("output:\n%s\n\nwant output containing: %s", output, want)
        }