aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.xml
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2013-08-23 10:16:53 -0600
committerTom Tromey <tromey@redhat.com>2013-11-04 11:02:04 -0700
commitcfb7b9a3e92292bfa9a9d76601214bdc43f660ef (patch)
treeba8c0e43911023257202864d30bd974fab93c75b /gdb/testsuite/gdb.xml
parentbdfe05946663103859b225da659a21e7f8647058 (diff)
downloadgdb-cfb7b9a3e92292bfa9a9d76601214bdc43f660ef.zip
gdb-cfb7b9a3e92292bfa9a9d76601214bdc43f660ef.tar.gz
gdb-cfb7b9a3e92292bfa9a9d76601214bdc43f660ef.tar.bz2
fix up gdb.xml
This fixes the gdb.xml tests to be parallel-safe. 2013-11-04 Tom Tromey <tromey@redhat.com> * gdb.xml/tdesc-arch.exp: Use standard_output_file. Make downloads conditional on remote host. (set_arch): Likewise. * gdb.xml/tdesc-regs.exp: Use gdb_remote_download. (load_description): Use standard_output_file.
Diffstat (limited to 'gdb/testsuite/gdb.xml')
-rw-r--r--gdb/testsuite/gdb.xml/tdesc-arch.exp28
-rw-r--r--gdb/testsuite/gdb.xml/tdesc-regs.exp30
2 files changed, 38 insertions, 20 deletions
diff --git a/gdb/testsuite/gdb.xml/tdesc-arch.exp b/gdb/testsuite/gdb.xml/tdesc-arch.exp
index 5fde2ff..241ad28 100644
--- a/gdb/testsuite/gdb.xml/tdesc-arch.exp
+++ b/gdb/testsuite/gdb.xml/tdesc-arch.exp
@@ -60,17 +60,20 @@ proc set_arch { arch which } {
global gdb_prompt
global subdir
- set fd [open "$subdir/tdesc-arch.xml" w]
+ set filename [standard_output_file tdesc-arch.xml]
+ set fd [open $filename w]
puts $fd \
"<target>
<architecture>$arch</architecture>
</target>"
close $fd
- remote_download host "${subdir}/tdesc-arch.xml" "tdesc-arch.xml"
+ if {[is_remote host]} {
+ set filename [remote_download host $filename tdesc-arch.xml]
+ }
# Anchor the test output, so that error messages are detected.
- set cmd "set tdesc filename tdesc-arch.xml"
- set msg "$cmd ($which architecture)"
+ set cmd "set tdesc filename $filename"
+ set msg "set tdesc filename tdesc-arch.xml ($which architecture)"
set cmd_regex [string_to_regexp $cmd]
gdb_test_multiple $cmd $msg {
-re "^$cmd_regex\r\n$gdb_prompt $" {
@@ -86,31 +89,32 @@ proc set_arch { arch which } {
"The target architecture is set automatically \\(currently $arch\\)" \
"$cmd ($which architecture)"
- file delete "${subdir}/tdesc-arch.xml"
- remote_file host delete "tdesc-arch.xml"
+ remote_file host delete $filename
}
set_arch $arch1 first
set_arch $arch2 second
# Check an invalid architecture setting.
-set fd [open "${subdir}/tdesc-arch.xml" w]
+set filename [standard_output_file tdesc-arch.xml]
+set fd [open $filename w]
puts $fd \
"<target>
<architecture>invalid</architecture>
</target>"
close $fd
-remote_download host "$subdir/tdesc-arch.xml" "tdesc-arch.xml"
+if {[is_remote host]} {
+ set filename [remote_download host $filename "tdesc-arch.xml"]
+}
-set cmd "set tdesc filename tdesc-arch.xml"
+set cmd "set tdesc filename $filename"
gdb_test $cmd \
"warning:.*Target description specified unknown architecture.*" \
- "$cmd (invalid architecture)"
+ "set tdesc filename tdesc-arch.xml (invalid architecture)"
set cmd "show architecture"
gdb_test $cmd \
"The target architecture is set automatically \\(currently $default_arch\\)" \
"$cmd (invalid architecture)"
-file delete "${subdir}/tdesc-arch.xml"
-remote_file host delete "tdesc-arch.xml"
+remote_file host delete $filename
diff --git a/gdb/testsuite/gdb.xml/tdesc-regs.exp b/gdb/testsuite/gdb.xml/tdesc-regs.exp
index 533812f..5e5e617 100644
--- a/gdb/testsuite/gdb.xml/tdesc-regs.exp
+++ b/gdb/testsuite/gdb.xml/tdesc-regs.exp
@@ -94,7 +94,8 @@ gdb_test "set tdesc file $srcdir/$subdir/single-reg.xml" \
# Copy the core registers into the objdir if necessary, so that they
# will be found by <xi:include>.
foreach src ${core-regs} {
- set file [remote_download host "$srcdir/../features/$regdir$src" "$src"]
+ set remote_filename($src) \
+ [gdb_remote_download host "$srcdir/../features/$regdir$src"]
}
# Similarly, we need to copy files under test into the objdir.
@@ -104,10 +105,13 @@ proc load_description { file errmsg } {
global gdb_prompt
global core-regs
global architecture
+ global remote_filename
- file delete "$subdir/regs.xml"
+ set regs_file [standard_output_file regs.xml]
+
+ file delete $regs_file
set ifd [open "$srcdir/$subdir/$file" r]
- set ofd [open "$subdir/regs.xml" w]
+ set ofd [open $regs_file w]
while {[gets $ifd line] >= 0} {
if {[regexp {<xi:include href="core-regs.xml"/>} $line]} {
if {! [string equal ${architecture} ""]} {
@@ -122,11 +126,13 @@ proc load_description { file errmsg } {
}
close $ifd
close $ofd
- remote_download host "$subdir/regs.xml" "regs.xml"
- file delete "$subdir/regs.xml"
+
+ if {[is_remote host]} {
+ set regs_file [remote_download host "$subdir/regs.xml" "regs.xml"]
+ }
# Anchor the test output, so that error messages are detected.
- set cmd "set tdesc filename regs.xml"
+ set cmd "set tdesc filename [file tail $regs_file]"
set msg "set tdesc filename regs.xml - from $file"
set cmd_regex [string_to_regexp $cmd]
gdb_test_multiple $cmd $msg {
@@ -134,7 +140,15 @@ proc load_description { file errmsg } {
pass $msg
}
}
- remote_file host delete "regs.xml"
+
+ if {[is_remote host]} {
+ remote_file host delete "regs.xml"
+ }
+}
+
+if {![is_remote host]} {
+ gdb_test "cd [standard_output_file {}]" "Working directory .*" \
+ "cd to directory holding xml"
}
load_description "extra-regs.xml" ""
@@ -155,5 +169,5 @@ load_description "core-only.xml" ""
gdb_test "ptype \$extrareg" "type = void"
foreach src ${core-regs} {
- remote_file host delete "$src"
+ remote_file host delete $remote_filename($src)
}