[PATCH v3 12/17] fix up gdb.server

Tom Tromey
2013-10-25T20:21:19Z

This fixes gdb.server to be parallel-safe.

~ChangeLog~
2013-10-24 Tom Tromey <tromey@redhat.com>

* gdb.server/file-transfer.exp: Use standard_output_file.
---
gdb/testsuite/ChangeLog | 4 ++++
gdb/testsuite/gdb.server/file-transfer.exp | 21 ++++++++++++++-------
2 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/gdb/testsuite/gdb.server/file-transfer.exp b/gdb/testsuite/gdb.server/file-transfer.exp
index aa56380..841d757 100644
--- a/gdb/testsuite/gdb.server/file-transfer.exp
+++ b/gdb/testsuite/gdb.server/file-transfer.exp
@@ -35,15 +35,22 @@ gdb_test "disconnect" ".*"
gdbserver_run ""

proc test_file_transfer { filename description } {
- gdb_test "remote put \"$filename\" down-server" \
+ set up_server up-server
+ set down_server down-server
+ if {![is_remote host] && ![is_remote target]} {
+ set up_server [standard_output_file $up_server]
+ set down_server [standard_output_file $down_server]
+ }
+
+ gdb_test "remote put \"$filename\" $down_server" \
"Successfully sent .*" "put $description"
- gdb_test "remote get down-server up-server" \
+ gdb_test "remote get $down_server $up_server" \
"Successfully fetched .*" "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 {
@@ -51,25 +58,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"
}

- gdb_test "remote delete down-server" \
+ gdb_test "remote delete $down_server" \
"Successfully deleted .*" "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 }
}

test_file_transfer "$binfile" "binary file"
--
1.8.1.4