summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2015-04-07 18:19:30 +0100
committerPedro Alves <palves@redhat.com>2015-04-07 18:27:24 +0100
commit71c0ee8cb9d7d77e8b480aaad715cc5343737993 (patch)
tree0cd2b9ef275941c0c7eaaefae3256b2c0e46737f
parent203bc29be2b44cffa7a3d64c8a20a0fb6828518d (diff)
downloadbinutils-gdb-71c0ee8cb9d7d77e8b480aaad715cc5343737993.tar.gz
gdb_test_multiple: Fix user code argument processing
While teaching gdb_test_multiple to forward "-i" to gdb_expect, I found that with: gdb_test_multiple (...) { -i $some_variable -re "..." {} } $some_variable was not getting expanded in the gdb_test_multiple caller's scope. This is a bug inside gdb_test_multiple. When processing an argument in passed in user code, it was appending the original argument literally, instead of appending the uplist'ed argument. gdb/testsuite/ChangeLog: 2015-04-07 Pedro Alves <palves@redhat.com> * lib/gdb.exp (gdb_test_multiple): When processing an argument, append the substituted item, not the original item.
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/lib/gdb.exp2
2 files changed, 6 insertions, 1 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 82544a0de08..694b1c80f30 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2015-04-07 Pedro Alves <palves@redhat.com>
+ * lib/gdb.exp (gdb_test_multiple): When processing an argument,
+ append the substituted item, not the original item.
+
+2015-04-07 Pedro Alves <palves@redhat.com>
+
* gdb.base/interrupt.exp: Use gdb_test_multiple instead of
gdb_expect.
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index e0a03ec395c..203b8cf0800 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -730,7 +730,7 @@ proc gdb_test_multiple { command message user_code } {
}
if { $expecting_arg } {
set expecting_arg 0
- lappend processed_code $item
+ lappend processed_code $subst_item
continue
}
if { $expecting_action } {