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