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".
This commit is contained in:
Andreas Arnez 2015-04-16 13:03:47 +02:00 committed by Andreas Krebbel
parent 4c0cab1e21
commit 04ff1e612e
9 changed files with 24 additions and 40 deletions

View File

@ -1,3 +1,18 @@
2015-04-16 Andreas Arnez <arnez@linux.vnet.ibm.com>
* 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 <simon.marchi@ericsson.com>
* gdb.python/py-framefilter.py (ErrorFilter.filter): Use map function

View File

@ -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"

View File

@ -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
}

View File

@ -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!\"" \

View File

@ -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)
}

View File

@ -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"}

View File

@ -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)
}

View File

@ -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"

View File

@ -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))
}