diff options
author | Tom Tromey <tromey@redhat.com> | 2013-08-23 10:16:53 -0600 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2013-11-04 11:02:04 -0700 |
commit | cfb7b9a3e92292bfa9a9d76601214bdc43f660ef (patch) | |
tree | ba8c0e43911023257202864d30bd974fab93c75b /gdb | |
parent | bdfe05946663103859b225da659a21e7f8647058 (diff) | |
download | gdb-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')
-rw-r--r-- | gdb/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/testsuite/gdb.xml/tdesc-arch.exp | 28 | ||||
-rw-r--r-- | gdb/testsuite/gdb.xml/tdesc-regs.exp | 30 |
3 files changed, 46 insertions, 20 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 646bb43..f0c8f91 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,13 @@ 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. + +2013-11-04 Tom Tromey <tromey@redhat.com> + * gdb.gdb/selftest.exp: Use standard_output_file. * lib/selftest-support.exp (do_self_tests): Use standard_output_file. 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) } |