Subject: Re: bug#62578: 30.0.50; [PATCH] Add regression tests for synchronous processes in Eshell

From: Eli Zaretskii <[email-masked]>
Date: Sat, 01 Apr 2023 09:07:00 +0300

> Date: Fri, 31 Mar 2023 21:41:09 -0700
> From: Jim Porter <[email-masked]>
> 
> As far as I understand it, Eshell only uses synchronous processes on 
> MS-DOS (where 'make-process' doesn't exist). Since I don't build Emacs 
> for MS-DOS, and I expect not many others do either, I'm worried that 
> this support will regress. To avoid that, here are some regression tests.

Thanks.

> +(ert-deftest esh-proc-test/synchronous-proc/simple/interactive ()
> +  "Test that synchronous processes work in an interactive shell."
> +  (skip-unless (executable-find "echo"))

This will always skip on MS-DOS, since "echo" is not available as an
external program OOTB, only if GNU Coreutils are installed.  And even
if Coreutils _are_ installed, a command that invokes "echo" will most
probably invoke the shell builtin instead.

> +  (skip-unless (and (executable-find "echo")
> +                    (executable-find "rev")))

Likewise here: "rev" is not expected to be available on MS-DOS.

I think you need to rethink these tests in a way that uses different
commands.  My suggestion is to use the Emacs executable, since that is
always available when running these tests.