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.
This commit is contained in:
Pedro Alves 2015-04-07 18:19:30 +01:00
parent 203bc29be2
commit 71c0ee8cb9
2 changed files with 6 additions and 1 deletions

View File

@ -1,3 +1,8 @@
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

View File

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