This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH v2 06/17] fix up gdb.mi
- From: Tom Tromey <tromey at redhat dot com>
- To: gdb-patches at sourceware dot org
- Cc: Tom Tromey <tromey at redhat dot com>
- Date: Fri, 18 Oct 2013 14:49:23 -0600
- Subject: [PATCH v2 06/17] fix up gdb.mi
- Authentication-results: sourceware.org; auth=none
- References: <1382129374-18344-1-git-send-email-tromey at redhat dot com>
This fixes gdb.mi to be parallel-safe.
* gdb.mi/mi-cmd-param-changed.exp (test_command_param_changed):
Use "dwarf2 always-disassemble" for the "maint set" test.
* gdb.mi/mi-file-transfer.exp (test_file_transfer): Use
standard_output_file.
* gdb.mi/mi-logging.exp: Use standard_output_file.
---
gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp | 6 +++---
gdb/testsuite/gdb.mi/mi-file-transfer.exp | 26 +++++++++++++++++++-------
gdb/testsuite/gdb.mi/mi-logging.exp | 2 +-
3 files changed, 23 insertions(+), 11 deletions(-)
diff --git a/gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp b/gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp
index 1791c97..7ba8724 100644
--- a/gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp
+++ b/gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp
@@ -85,9 +85,9 @@ proc test_command_param_changed { } {
# No notification is emitted for 'maint set' commands.
foreach boolean_opt { "on" "off" } {
- mi_gdb_test "maint set profile ${boolean_opt}" \
- "\\&\"maint set profile ${boolean_opt}\\\\n\"\r\n\\^done" \
- "\"maint set profile ${boolean_opt}\""
+ mi_gdb_test "maint set dwarf2 always-disassemble ${boolean_opt}" \
+ "\\&\"maint set dwarf2 always-disassemble ${boolean_opt}\\\\n\"\r\n\\^done" \
+ "\"maint dwarf2 always-disassemble ${boolean_opt}\""
}
# Full command parameters are included in the notification when a
diff --git a/gdb/testsuite/gdb.mi/mi-file-transfer.exp b/gdb/testsuite/gdb.mi/mi-file-transfer.exp
index 9229fde..dbf0d66 100644
--- a/gdb/testsuite/gdb.mi/mi-file-transfer.exp
+++ b/gdb/testsuite/gdb.mi/mi-file-transfer.exp
@@ -54,15 +54,27 @@ proc mi_gdbserver_run { } {
}
proc test_file_transfer { filename description } {
- mi_gdb_test "-target-file-put \"$filename\" \"down-server\"" \
+ # If we are running everything locally, then we want to be sure to
+ # put the files into the test's standard output location. On the
+ # other hand, if the host or target is remote, then we need to
+ # continue with the "old-style" directory-less approach.
+ if {![is_remote host] && ![is_remote target]} {
+ set up_server [standard_output_file up-server]
+ set down_server [standard_output_file down-server]
+ } else {
+ set up_server up-server
+ set down_server down-server
+ }
+
+ mi_gdb_test "-target-file-put \"$filename\" \"${down_server}\"" \
"\\^done" "put $description"
- mi_gdb_test "-target-file-get \"down-server\" \"up-server\"" \
+ mi_gdb_test "-target-file-get \"${down_server}\" \"${up_server}\"" \
"\\^done" "get $description"
if { ![is_remote target] } {
# If we can check the target copy of the file, do that too.
# This should catch symmetric errors in upload and download.
- set result [remote_exec host "cmp -s $filename down-server"]
+ set result [remote_exec host "cmp -s $filename ${down_server}"]
if { [lindex $result 0] == 0 } {
pass "compare intermediate $description"
} else {
@@ -70,25 +82,25 @@ proc test_file_transfer { filename description } {
}
}
- set result [remote_exec host "cmp -s $filename up-server"]
+ set result [remote_exec host "cmp -s $filename ${up_server}"]
if { [lindex $result 0] == 0 } {
pass "compare $description"
} else {
fail "compare $description"
}
- mi_gdb_test "-target-file-delete \"down-server\"" \
+ mi_gdb_test "-target-file-delete \"${down_server}\"" \
"\\^done" "deleted $description"
if { ![is_remote target] } {
- if { ! [remote_file target exists down-server] } {
+ if { ! [remote_file target exists ${down_server}] } {
pass "verified deleted $description"
} else {
fail "verified deleted $description"
}
}
- catch { file delete up-server }
+ catch { file delete ${up_server} }
}
mi_gdbserver_run
diff --git a/gdb/testsuite/gdb.mi/mi-logging.exp b/gdb/testsuite/gdb.mi/mi-logging.exp
index 87f3e1b..b38c036 100644
--- a/gdb/testsuite/gdb.mi/mi-logging.exp
+++ b/gdb/testsuite/gdb.mi/mi-logging.exp
@@ -33,7 +33,7 @@ if {[mi_run_to_main] < 0} {
return -1
}
-set milogfile "milog.txt"
+set milogfile [standard_output_file "milog.txt"]
mi_gdb_test "-gdb-set logging file $milogfile" ".*"
--
1.8.1.4