From 04ff1e612ece7915c5c0f94c84f90f55e4c50059 Mon Sep 17 00:00:00 2001 From: Andreas Arnez Date: Thu, 16 Apr 2015 13:03:47 +0200 Subject: [PATCH] GDB tests for Go language support: remove unnecessary first breakpoint On s390x targets some of the Go test cases fail because the first breakpoint happens to be at the same spot as the breakpoint at main.main. When such a test case tries to continue to the first breakpoint, the program runs until the end instead, and the test fails like this: FAIL: gdb.go/handcall.exp: Going to first breakpoint (the program exited) This patch removes all the handling related to the first breakpoint in those cases. After applying the patch, the tests run successfully on s390x. gdb/testsuite/ChangeLog: * gdb.go/handcall.exp: Remove all logic related to the first breakpoint and rely on go_runto_main instead. * gdb.go/strings.exp: Likewise. * gdb.go/unsafe.exp: Likewise. * gdb.go/hello.exp: Likewise. Also rename the remaining breakpoint marker to "breakpoint 1". * gdb.go/handcall.go: Remove comment "set breakpoint 1 here". * gdb.go/strings.go: Likewise. * gdb.go/unsafe.go: Likewise. * gdb.go/hello.go: Likewise. Also remove the second occurrence of "set breakpoint 2 here" and rename the remaining breakpoint marker to "breakpoint 1". --- gdb/testsuite/ChangeLog | 15 +++++++++++++++ gdb/testsuite/gdb.go/handcall.exp | 8 -------- gdb/testsuite/gdb.go/handcall.go | 2 +- gdb/testsuite/gdb.go/hello.exp | 13 +++---------- gdb/testsuite/gdb.go/hello.go | 6 +++--- gdb/testsuite/gdb.go/strings.exp | 8 -------- gdb/testsuite/gdb.go/strings.go | 2 +- gdb/testsuite/gdb.go/unsafe.exp | 8 -------- gdb/testsuite/gdb.go/unsafe.go | 2 +- 9 files changed, 24 insertions(+), 40 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 91fd9a917a..55a593a58d 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,18 @@ +2015-04-16 Andreas Arnez + + * gdb.go/handcall.exp: Remove all logic related to the first + breakpoint and rely on go_runto_main instead. + * gdb.go/strings.exp: Likewise. + * gdb.go/unsafe.exp: Likewise. + * gdb.go/hello.exp: Likewise. Also rename the remaining + breakpoint marker to "breakpoint 1". + * gdb.go/handcall.go: Remove comment "set breakpoint 1 here". + * gdb.go/strings.go: Likewise. + * gdb.go/unsafe.go: Likewise. + * gdb.go/hello.go: Likewise. Also remove the second occurrence of + "set breakpoint 2 here" and rename the remaining breakpoint marker + to "breakpoint 1". + 2015-04-15 Simon Marchi * gdb.python/py-framefilter.py (ErrorFilter.filter): Use map function diff --git a/gdb/testsuite/gdb.go/handcall.exp b/gdb/testsuite/gdb.go/handcall.exp index 44c03c47fe..b57535ab57 100644 --- a/gdb/testsuite/gdb.go/handcall.exp +++ b/gdb/testsuite/gdb.go/handcall.exp @@ -27,18 +27,10 @@ if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug go}] } { return -1 } -set bp_location1 [gdb_get_line_number "set breakpoint 1 here"] - if { [go_runto_main] < 0 } { untested $testfile return -1 } -if { [gdb_breakpoint ${srcfile}:${bp_location1}] } { - pass "setting breakpoint 1" -} - -gdb_test "cont" "Breakpoint .*:${bp_location1}.*" "Going to first breakpoint" - gdb_test "print add (1, 2)" " = 3" gdb_test "print main.add (1, 2)" " = 3" diff --git a/gdb/testsuite/gdb.go/handcall.go b/gdb/testsuite/gdb.go/handcall.go index f32b5e9a47..c09d997f14 100644 --- a/gdb/testsuite/gdb.go/handcall.go +++ b/gdb/testsuite/gdb.go/handcall.go @@ -11,5 +11,5 @@ func sub (a,b int) (int) { var v_int int func main () { - v_int = 42 // set breakpoint 1 here + v_int = 42 } diff --git a/gdb/testsuite/gdb.go/hello.exp b/gdb/testsuite/gdb.go/hello.exp index 577d9a01d5..8d7391948f 100644 --- a/gdb/testsuite/gdb.go/hello.exp +++ b/gdb/testsuite/gdb.go/hello.exp @@ -28,19 +28,12 @@ if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug go}] } { } set bp_location1 [gdb_get_line_number "set breakpoint 1 here"] -set bp_location2 [gdb_get_line_number "set breakpoint 2 here"] if { [go_runto_main] < 0 } { untested $testfile return -1 } -if { [gdb_breakpoint ${srcfile}:${bp_location1}] } { - pass "setting breakpoint 1" -} - -gdb_test "cont" "Breakpoint .*:${bp_location1}.*" "Going to first breakpoint" - # This used to print "", i.e., the local "st" initialized as "". setup_xfail "*-*-*" @@ -48,11 +41,11 @@ gdb_test "print st" \ ".* = $hex \"\"" \ "Starting string check" -if { [gdb_breakpoint ${srcfile}:${bp_location2}] } { - pass "setting breakpoint 2" +if { [gdb_breakpoint ${srcfile}:${bp_location1}] } { + pass "setting breakpoint 1" } -gdb_test "cont" "Breakpoint .*:${bp_location2}.*" "Going to second breakpoint" +gdb_test "cont" "Breakpoint .*:${bp_location1}.*" "Going to first breakpoint" gdb_test "print st" \ ".* = $hex \"Hello, world!\"" \ diff --git a/gdb/testsuite/gdb.go/hello.go b/gdb/testsuite/gdb.go/hello.go index 6e561129cd..17b1d4ac1f 100644 --- a/gdb/testsuite/gdb.go/hello.go +++ b/gdb/testsuite/gdb.go/hello.go @@ -5,8 +5,8 @@ import "fmt" var myst = "Shall we?" func main () { - fmt.Println ("Before assignment") // set breakpoint 1 here + fmt.Println ("Before assignment") st := "Hello, world!" // this intentionally shadows the global "st" - fmt.Println (st) // set breakpoint 2 here - fmt.Println (myst) // set breakpoint 2 here + fmt.Println (st) // set breakpoint 1 here + fmt.Println (myst) } diff --git a/gdb/testsuite/gdb.go/strings.exp b/gdb/testsuite/gdb.go/strings.exp index 9274a5403d..246d7ebd90 100644 --- a/gdb/testsuite/gdb.go/strings.exp +++ b/gdb/testsuite/gdb.go/strings.exp @@ -25,17 +25,9 @@ if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug go}] } { return -1 } -set bp_location1 [gdb_get_line_number "set breakpoint 1 here"] - if { [go_runto_main] < 0 } { untested $testfile return -1 } -if { [gdb_breakpoint ${srcfile}:${bp_location1}] } { - pass "setting breakpoint 1" -} - -gdb_test "cont" "Breakpoint .*:${bp_location1}.*" "Going to first breakpoint" - gdb_test {print "abc" + "def"} {.* = "abcdef"} diff --git a/gdb/testsuite/gdb.go/strings.go b/gdb/testsuite/gdb.go/strings.go index fc62e39642..c80f0815f5 100644 --- a/gdb/testsuite/gdb.go/strings.go +++ b/gdb/testsuite/gdb.go/strings.go @@ -5,6 +5,6 @@ import "fmt" var v_string string = "foo" func main () { - fmt.Println ("hello") // set breakpoint 1 here + fmt.Println ("hello") fmt.Printf ("%s\n", v_string) } diff --git a/gdb/testsuite/gdb.go/unsafe.exp b/gdb/testsuite/gdb.go/unsafe.exp index 6017dcb7ae..a631f85402 100644 --- a/gdb/testsuite/gdb.go/unsafe.exp +++ b/gdb/testsuite/gdb.go/unsafe.exp @@ -27,17 +27,9 @@ if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug go}] } { return -1 } -set bp_location1 [gdb_get_line_number "set breakpoint 1 here"] - if { [go_runto_main] < 0 } { untested $testfile return -1 } -if { [gdb_breakpoint ${srcfile}:${bp_location1}] } { - pass "setting breakpoint 1" -} - -gdb_test "cont" "Breakpoint .*:${bp_location1}.*" "Going to first breakpoint" - gdb_test "print unsafe.Sizeof(42)" ".* = 4" diff --git a/gdb/testsuite/gdb.go/unsafe.go b/gdb/testsuite/gdb.go/unsafe.go index 95318bd6d7..ac8a6f679c 100644 --- a/gdb/testsuite/gdb.go/unsafe.go +++ b/gdb/testsuite/gdb.go/unsafe.go @@ -6,6 +6,6 @@ import ("fmt" var mystring = "Shall we?" func main () { - fmt.Printf ("%d\n", unsafe.Sizeof (42)) // set breakpoint 1 here + fmt.Printf ("%d\n", unsafe.Sizeof (42)) fmt.Printf ("%d\n", unsafe.Sizeof (mystring)) } -- 2.34.1