Subject: bug#65590: bug#65602: 30.0.50; eshell-test/{elisp,subcommand}-reset-in-pipeline fails intermittently on macOS

From: Stefan Kangas <[email-masked]>
Date: Wed, 13 Sep 2023 14:13:00 -0700

Jim Porter <[email-masked]> writes:

> Thanks. Pushed to master as 9838f786ded. This hopefully resolves this
> bug, along with bug#59103 and bug#65601.

On a subsequent re-run, I'm now seeing this failure in em-unix-tests.el
too:

Running 4 tests (2023-09-13 23:09:59+0200, selector ‘(not (or (tag
:expensive-test) (tag :unstable) (tag :nativecomp)))’)
Loading em-alias...
Loading em-banner...
Loading em-basic...
Loading em-cmpl...
Loading em-extpipe...
Loading em-glob...
Loading em-hist...
Loading em-ls...
Loading em-pred...
Loading em-prompt...
Loading em-script...
Loading em-term...

   passed  1/4  em-unix-test/compile/interactive (0.126190 sec)
Compilation finished
   passed  2/4  em-unix-test/compile/noninteractive (0.065006 sec)
   passed  3/4  em-unix-test/compile/pipeline (0.148928 sec)
Test em-unix-test/compile/subcommand backtrace:
  signal(ert-test-failed (((should (eshell-match-output regexp)) :form
  ert-fail(((should (eshell-match-output regexp)) :form (eshell-match-
  eshell-match-command-output("echo ${compile echo hello}" "\\`hello\n
  #f(compiled-function () #<bytecode 0x407c24691ea495>)()
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name em-unix-test/compile/subcommand :docu
  ert-run-or-rerun-test(#s(ert--stats :selector (not (or ... ... ...))
  ert-run-tests((not (or (tag :expensive-test) (tag :unstable) (tag :n
  ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable) (
  ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
  eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
  command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/eshell/em-unix-tests
  command-line()
  normal-top-level()
Test em-unix-test/compile/subcommand condition:
    Command logs: command: "echo ${compile echo hello}"

                  ----------------------------------------
                  [process] started external process ‘echo’
                  ----------------------------------------
                  [process] sentinel for external process ‘echo’: "finished
                  "
                  ----------------------------------------
                  [process] finished external process ‘echo’
    (ert-test-failed
     ((should (eshell-match-output regexp)) :form
      (eshell-match-output "\\`hello\n") :value nil :explanation
      (mismatched-output (command "echo ${compile echo hello}\n")
			 (output "") (regexp "\\`hello\n"))))
   FAILED  4/4  em-unix-test/compile/subcommand (0.727038 sec) at
lisp/eshell/em-unix-tests.el:60

Ran 4 tests, 3 results as expected, 1 unexpected (2023-09-13
23:10:00+0200, 1.300818 sec)

1 unexpected results:
   FAILED  em-unix-test/compile/subcommand

make[3]: *** [lisp/eshell/em-unix-tests.log] Error 1