From 3589529e3cec4a5a72cd161959055d1e48dcf129 Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Tue, 23 Aug 2016 14:15:50 +0100 Subject: [PATCH] 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 * 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. --- gdb/testsuite/ChangeLog | 7 +++++ .../gdb.base/signals-state-child.exp | 28 +++++++++++++++---- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 7e5fce6a1ac..76f57e13c46 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2016-08-23 Yao Qi + + * 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. + 2016-08-22 Pedro Alves PR gdb/20505 diff --git a/gdb/testsuite/gdb.base/signals-state-child.exp b/gdb/testsuite/gdb.base/signals-state-child.exp index f5fdcb27322..cd6a9a517eb 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.*" \ -- 2.39.5