Re: [PATCH 4/4] ssh.exp: do not call rm in ssh_exec
Jacob Bachmeyer <[email protected]> Tue, 2 Jun 2026 21:01:57 -0500
| Newsgroups | gmane.comp.sysutils.dejagnu.general |
|---|---|
| Message-ID | <[email protected]> |
On 3/24/26 16:21, Joseph Myers wrote:
> remote_exec is sometimes used with the name of an installed command
> plus its arguments, which means the 'rm -f $program' breaks in
> general.
> ---
> lib/ssh.exp | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/ssh.exp b/lib/ssh.exp
> index 26e9714..a126359 100644
> --- a/lib/ssh.exp
> +++ b/lib/ssh.exp
> @@ -168,7 +168,7 @@ proc ssh_exec { boardname program pargs inp outp } {
> set inp "/dev/null"
> }
>
> - 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 ret [local_exec "$SSH $ssh_useropts $ssh_user$hostname sh -c '$program $pargs 2>&1 ; echo XYZ\\\${?}ZYX \\; '" $inp $outp $timeout]
> set status [lindex $ret 0]
> set output [lindex $ret 1]
>
Logically, this makes sense: ssh_exec did not transfer $program to the
remote, so it should not be performing cleanup like that. However, the
trailing semicolon also should be removed, so that the string ends with ZYX.
-- Jacob