summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@codesourcery.com>2014-03-21 23:51:16 +0000
committerMaciej W. Rozycki <macro@codesourcery.com>2014-03-21 23:51:16 +0000
commitecebef6a9acbca2f98e1ed64b986d792c6933ec5 (patch)
tree0d83cab3f2647b414ee2e712b66780132c0e1bb1
parentecdf850f8515140a3c15bc8ca55172276bcc914d (diff)
downloadbinutils-gdb-ecebef6a9acbca2f98e1ed64b986d792c6933ec5.tar.gz
gdb.threads/thread-specific.exp: Fix uninitialized variable references
This fixes: FAIL: gdb.threads/thread-specific.exp: continue to thread-specific breakpoint (timeout) ERROR: tcl error sourcing .../gdb/testsuite/gdb.threads/thread-specific.exp. ERROR: can't read "this_breakpoint": no such variable while executing "gdb_test_multiple "info breakpoint $this_breakpoint" "info on bp" { -re ".*stop only in thread (\[0-9\]*).*$gdb_prompt $" { set this_thread $expe..." (file ".../gdb/testsuite/gdb.threads/thread-specific.exp" line 108) invoked from within "source .../gdb/testsuite/gdb.threads/thread-specific.exp" ("uplevel" body line 1) invoked from within "uplevel #0 source .../gdb/testsuite/gdb.threads/thread-specific.exp" invoked from within "catch "uplevel #0 source $test_file_name"" and then: FAIL: gdb.threads/thread-specific.exp: continue to thread-specific breakpoint (timeout) UNTESTED: gdb.threads/thread-specific.exp: info on bp ERROR: tcl error sourcing .../gdb/testsuite/gdb.threads/thread-specific.exp. ERROR: can't read "this_thread": no such variable while executing "gdb_test {print $_thread} ".* = $this_thread" "thread var at break"" (file ".../gdb/testsuite/gdb.threads/thread-specific.exp" line 119) invoked from within "source .../gdb/testsuite/gdb.threads/thread-specific.exp" ("uplevel" body line 1) invoked from within "uplevel #0 source .../gdb/testsuite/gdb.threads/thread-specific.exp" invoked from within "catch "uplevel #0 source $test_file_name"" Final results: FAIL: gdb.threads/thread-specific.exp: continue to thread-specific breakpoint (timeout) UNTESTED: gdb.threads/thread-specific.exp: info on bp UNTESTED: gdb.threads/thread-specific.exp: thread var at break Of course the first failure best wasn't there, but failing that the script shouldn't crash. * gdb.threads/thread-specific.exp: Handle the lack of usable $this_breakpoint and $this_thread.
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.threads/thread-specific.exp20
2 files changed, 20 insertions, 5 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index a78fb17bf19..aad07fdb54a 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2014-03-21 Maciej W. Rozycki <macro@codesourcery.com>
+
+ * gdb.threads/thread-specific.exp: Handle the lack of usable
+ $this_breakpoint and $this_thread.
+
2014-03-21 Hui Zhu <hui@codesourcery.com>
* gdb.base/attach.exp (do_command_attach_tests): New.
diff --git a/gdb/testsuite/gdb.threads/thread-specific.exp b/gdb/testsuite/gdb.threads/thread-specific.exp
index 90968e9e639..e271484e931 100644
--- a/gdb/testsuite/gdb.threads/thread-specific.exp
+++ b/gdb/testsuite/gdb.threads/thread-specific.exp
@@ -95,6 +95,7 @@ foreach thread [lrange $threads 1 end] {
gdb_breakpoint "$line thread $thread"
}
+set this_breakpoint -1
gdb_test_multiple "continue" "continue to thread-specific breakpoint" {
-re "Breakpoint $main_breakpoint, .* at .*\r\n$gdb_prompt $" {
fail "continue to thread-specific breakpoint (wrong breakpoint)"
@@ -105,13 +106,22 @@ gdb_test_multiple "continue" "continue to thread-specific breakpoint" {
}
}
-gdb_test_multiple "info breakpoint $this_breakpoint" "info on bp" {
- -re ".*stop only in thread (\[0-9\]*).*$gdb_prompt $" {
- set this_thread $expect_out(1,string)
- pass "found breakpoint for thread number"
+set this_thread -1
+if { $this_breakpoint != -1 } {
+ gdb_test_multiple "info breakpoint $this_breakpoint" "info on bp" {
+ -re ".*stop only in thread (\[0-9\]*).*$gdb_prompt $" {
+ set this_thread $expect_out(1,string)
+ pass "found breakpoint for thread number"
+ }
}
+} else {
+ untested "info on bp"
}
-gdb_test {print $_thread} ".* = $this_thread" "thread var at break"
+if { $this_thread != -1 } {
+ gdb_test {print $_thread} ".* = $this_thread" "thread var at break"
+} else {
+ untested "thread var at break"
+}
return 0