diff options
author | Yao Qi <yao.qi@linaro.org> | 2016-08-23 14:15:50 +0100 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2016-08-23 14:15:50 +0100 |
commit | 3589529e3cec4a5a72cd161959055d1e48dcf129 (patch) | |
tree | d2af1d0cfc150fa958a36d56b764741a924c90c3 /gdb/testsuite/gdb.base | |
parent | 6342be709e8749d0a44c02e1876ddca360bfd52f (diff) | |
download | gdb-3589529e3cec4a5a72cd161959055d1e48dcf129.zip gdb-3589529e3cec4a5a72cd161959055d1e48dcf129.tar.gz gdb-3589529e3cec4a5a72cd161959055d1e48dcf129.tar.bz2 |
Fix signals-state-child.exp in remote testing
Remote testing isn't considered in signals-state-child.exp, so the it
fails like
shell diff -s /scratch/yao/gdb/build-git/aarch64-linux-gnu/gdb/testsuite/outputs/gdb.base/signals-state-child/standalone.txt /scratch/yao/gdb/build-git/aarch64-linux-gnu/gdb/testsuite/outputs/gdb.base/signals-state-child/gdb.txt^M
diff: /scratch/yao/gdb/build-git/aarch64-linux-gnu/gdb/testsuite/outputs/gdb.base/signals-state-child/standalone.txt: No such file or directory^M
(gdb) FAIL: gdb.base/signals-state-child.exp: signals states are identical
This patch is to fix it.
gdb/testsuite:
2016-08-23 Yao Qi <yao.qi@linaro.org>
* gdb.base/signals-state-child.exp: Set variables gdb_txt and
standalone_txt. Delete gdb_txt and standalone_txt on host
and target. Spawn the binary on target. Copy files from
target to host.
Diffstat (limited to 'gdb/testsuite/gdb.base')
-rw-r--r-- | gdb/testsuite/gdb.base/signals-state-child.exp | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/gdb/testsuite/gdb.base/signals-state-child.exp b/gdb/testsuite/gdb.base/signals-state-child.exp index f5fdcb2..cd6a9a5 100644 --- a/gdb/testsuite/gdb.base/signals-state-child.exp +++ b/gdb/testsuite/gdb.base/signals-state-child.exp @@ -29,10 +29,20 @@ standard_testfile -set gdb_txt [standard_output_file gdb.txt] -set standalone_txt [standard_output_file standalone.txt] -remote_exec host "rm -f $gdb_txt" -remote_exec host "rm -f $standalone_txt" +if {![is_remote host] && ![is_remote target]} { + set gdb_txt [standard_output_file gdb.txt] + set standalone_txt [standard_output_file standalone.txt] + set purely_local 1 +} else { + set gdb_txt gdb.txt + set standalone_txt standalone.txt + set purely_local 0 +} + +remote_file host delete $gdb_txt +remote_file host delete $standalone_txt +remote_file target delete $gdb_txt +remote_file target delete $standalone_txt set options [list debug "additional_flags=-DOUTPUT_TXT=\"$gdb_txt\""] if {[build_executable $testfile.exp $testfile $srcfile $options]} { @@ -55,14 +65,14 @@ if {[build_executable $testfile.exp $testfile-standalone $srcfile $options]} { # local_exec uses -ignore SIGHUP, while remote_spawn does not, if we # used remote_exec, the test program would start with SIGHUP ignored # when run standalone, but not when run through gdb. -set res [remote_spawn host "$binfile-standalone"] +set res [remote_spawn target "$binfile-standalone"] if { $res < 0 || $res == "" } { untested "spawning $binfile-standalone failed" return 1 } else { pass "collect standalone signals state" } -remote_close host +remote_close target # Now run the program through gdb, and dump its initial signal actions # and mask in "gdb.txt". @@ -76,6 +86,12 @@ if { ! [ runto_main ] } then { gdb_continue_to_end "collect signals state under gdb" +if {!$purely_local} { + # Copy file from target to host through build. + remote_download host [remote_upload target gdb.txt] gdb.txt + remote_download host [remote_upload target standalone.txt] standalone.txt +} + # Diff the .txt files. They should be identical. gdb_test "shell diff -s $standalone_txt $gdb_txt" \ "Files .* are identical.*" \ |