Hi, On Wed, 27 May 2020 at 03:58, Rob Savoye <r...@welcomehome.org> wrote: > > On 5/26/20 7:20 PM, Maciej W. Rozycki wrote: > > > I'll run some RISC-V remote GCC/GDB testing and compare results for > > DejaGnu 1.6/1.6.1 vs trunk. It will take several days though, as it takes > > many hours to go through these testsuite runs. > > That'd be great. I'd rather push out a stable release, than have to > fix bugs right after it gets released. > > - rob -
I ran our GCC validation harness using dejagnu master branch and compared to the results we get using our linaro-local/stable branch (https://git.linaro.org/toolchain/dejagnu.git/) I noticed that we'd need to add patches (1) and (2) at least. Patch (1) enables us to run tests on aarch64-elf using Arm's Foundation Model. Patch (2) was posted in 2016: https://lists.gnu.org/archive/html/dejagnu/2016-03/msg00005.html. It fixes problems with tests output patterns (in fortran, ubsan and asan tests) Patch (3) was posted in 2016 too: https://lists.gnu.org/archive/html/dejagnu/2016-03/msg00034.html I'm not 100% sure it made a difference in these test runs because we still see some random failures anyway. Thanks, Christophe
From 382440f145811eeb3e85d0e57d9b8aa5418d1e80 Mon Sep 17 00:00:00 2001 From: Yvan Roux <yvan.r...@linaro.org> Date: Mon, 25 Apr 2016 11:09:52 +0200 Subject: [PATCH 2/3] Keep trailing newline in remote execution output. * lib/rsh.exp (rsh_exec): Don't remove trailing newline. * lib/ssh.exp (rsh_exec): Likewise. Change-Id: I2368c18729c4bff9ee87d9163b1c8f4b0ad7f4d8 --- lib/rsh.exp | 3 --- lib/ssh.exp | 3 --- 2 files changed, 6 deletions(-) diff --git a/lib/rsh.exp b/lib/rsh.exp index 5b583c6..43f5430 100644 --- a/lib/rsh.exp +++ b/lib/rsh.exp @@ -283,8 +283,5 @@ proc rsh_exec { boardname program pargs inp outp } { return [list -1 "Couldn't parse $RSH output, $output."] } regsub "XYZ(\[0-9\]*)ZYX\n?" $output "" output - # Delete one trailing \n because that is what `exec' will do and we want - # to behave identical to it. - regsub "\n$" $output "" output return [list [expr {$status != 0}] $output] } diff --git a/lib/ssh.exp b/lib/ssh.exp index 0cf0f8d..a72f794 100644 --- a/lib/ssh.exp +++ b/lib/ssh.exp @@ -194,9 +194,6 @@ proc ssh_exec { boardname program pargs inp outp } { return [list -1 "Couldn't parse $SSH output, $output."] } regsub "XYZ(\[0-9\]*)ZYX\n?" $output "" output - # Delete one trailing \n because that is what `exec' will do and we want - # to behave identical to it. - regsub "\n$" $output "" output return [list [expr {$status != 0}] $output] } -- 2.7.4
From 1e5110d99ac8bac61e97bbdb4bb78ca72adb7e4e Mon Sep 17 00:00:00 2001 From: Maxim Kuvyrkov <maxim.kuvyr...@linaro.org> Date: Tue, 28 Jun 2016 09:40:01 +0100 Subject: [PATCH 1/3] Support using QEMU in local/remote testing using default "unix" board If the board file defines "exec_shell", prepend it before the local or remote command. Change-Id: Ib3ff96126c4c96e4e7f8898609d0fce6faf803ef --- config/unix.exp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/config/unix.exp b/config/unix.exp index 2e38454..dc3f781 100644 --- a/config/unix.exp +++ b/config/unix.exp @@ -78,6 +78,11 @@ proc unix_load { dest prog args } { verbose -log "Setting LD_LIBRARY_PATH to $ld_library_path:$orig_ld_library_path" 2 verbose -log "Execution timeout is: $test_timeout" 2 + # Prepend shell name (e.g., qemu emulator) to the command. + if {[board_info $dest exists exec_shell]} { + set command "[board_info $dest exec_shell] $command" + } + set id [remote_spawn $dest $command "readonly"] if { $id < 0 } { set output "remote_spawn failed" @@ -119,6 +124,14 @@ proc unix_load { dest prog args } { return [list "unresolved" ""] } } + + # Prepend shell name (e.g., qemu emulator) to the command. + if {[board_info $dest exists exec_shell]} { + set remotecmd "[board_info $dest exec_shell] $remotefile" + } else { + set remotecmd "$remotefile" + } + set status [remote_exec $dest $remotefile $parg $inp] remote_file $dest delete $remotefile.o $remotefile if { [lindex $status 0] < 0 } { -- 2.7.4
From b6a3e52aec69146e930d85b84a81b1e059f2ffe5 Mon Sep 17 00:00:00 2001 From: Christophe Lyon <christophe.l...@linaro.org> Date: Fri, 28 Sep 2018 08:26:02 +0000 Subject: [PATCH 3/3] 2018-09-28 Christophe Lyon <christophe.l...@linaro.org> * lib/ssh.exp (ssh_exec): Redirect stderr to stdout on the remote machine, to avoid race conditions. Change-Id: Ie0613a85fa990484fda41b13738025edf7477a62 --- lib/ssh.exp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ssh.exp b/lib/ssh.exp index a72f794..3c7b840 100644 --- a/lib/ssh.exp +++ b/lib/ssh.exp @@ -171,7 +171,7 @@ proc ssh_exec { boardname program pargs inp outp } { # We use && here, as otherwise the echo always works, which makes it look # like execution succeeded when in reality it failed. - set ret [local_exec "$SSH $ssh_useropts $ssh_user$hostname sh -c '$program $pargs && echo XYZ\\\${?}ZYX \\; rm -f $program'" $inp $outp $timeout] + set ret [local_exec "$SSH $ssh_useropts $ssh_user$hostname sh -c '$program $pargs 2>&1 && echo XYZ\\\${?}ZYX \\; rm -f $program'" $inp $outp $timeout] set status [lindex $ret 0] set output [lindex $ret 1] -- 2.7.4