Subject: Re: 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:10:55 -0700

Stefan Kangas <[email-masked]> writes:

> Jim Porter <[email-masked]> writes:
>
>> Thanks. Pushed to master as 9838f786ded. This hopefully resolves this
>> bug, along with bug#59103 and bug#65601.
>
> Thanks for the fix, and feel free to close this bug and the others (note
> that I merged some of them).
>
> We can always reopen this if these issues resurface.

I spoke too soon, as I'm now seeing the below two failures.

   FAILED   42/110  esh-var-test/interp-var-indices-subcommand
(0.787189 sec) at lisp/eshell/esh-var-tests.el:184

   FAILED   5/11  eshell-test/eshell-command/simple (0.670351 sec) at
lisp/eshell/eshell-tests.el:41

I'm trying to reproduce it a second time, but they don't always show up.

Meanwhile, here is the complete log:

Running 110 tests (2023-09-13 22:35:13+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...
Loading em-unix...
   passed    1/110  esh-var-test/alias/export (0.088465 sec)
   passed    2/110  esh-var-test/alias/function (0.002535 sec)
   passed    3/110  esh-var-test/alias/function-pair (0.001671 sec)
   passed    4/110  esh-var-test/alias/local-variables (0.005713 sec)
   passed    5/110  esh-var-test/alias/string (0.003960 sec)
   passed    6/110  esh-var-test/alias/string/prefer-lisp (0.002671 sec)
   passed    7/110  esh-var-test/alias/symbol (0.003753 sec)
   passed    8/110  esh-var-test/alias/symbol-pair (0.002834 sec)
   passed    9/110  esh-var-test/columns-var (0.002136 sec)
   passed   10/110  esh-var-test/command-interp (0.001959 sec)
   passed   11/110  esh-var-test/command-interp-splice (0.002680 sec)
   passed   12/110  esh-var-test/export (0.002692 sec)
   passed   13/110  esh-var-test/gid-var (0.001037 sec)
   passed   14/110  esh-var-test/inside-emacs-var (0.003868 sec)
   passed   15/110  esh-var-test/inside-emacs-var-split-indices (0.002742 sec)
   passed   16/110  esh-var-test/interp-cmd (0.010029 sec)
   passed   17/110  esh-var-test/interp-cmd-external (0.109887 sec)
   passed   18/110  esh-var-test/interp-cmd-external-indices (0.119196 sec)
   passed   19/110  esh-var-test/interp-cmd-indices (0.017139 sec)
   passed   20/110  esh-var-test/interp-concat-cmd (0.230823 sec)
   passed   21/110  esh-var-test/interp-concat-cmd-external (0.113160 sec)
   passed   22/110  esh-var-test/interp-concat-cmd2 (0.006122 sec)
   passed   23/110  esh-var-test/interp-concat-lisp (0.002987 sec)
   passed   24/110  esh-var-test/interp-concat-lisp2 (0.002998 sec)
   passed   25/110  esh-var-test/interp-convert-cmd-multiline (0.006679 sec)
   passed   26/110  esh-var-test/interp-convert-cmd-number (0.001994 sec)
   passed   27/110  esh-var-test/interp-convert-cmd-split-indices (0.003176 sec)
   passed   28/110  esh-var-test/interp-convert-cmd-string-newline
(0.001614 sec)
   passed   29/110  esh-var-test/interp-convert-quoted-var-number (0.004028 sec)
   passed   30/110
esh-var-test/interp-convert-quoted-var-split-indices (0.002890 sec)
   passed   31/110  esh-var-test/interp-convert-var-number (0.002947 sec)
   passed   32/110  esh-var-test/interp-convert-var-split-indices (0.007150 sec)
   passed   33/110  esh-var-test/interp-lisp (0.001717 sec)
   passed   34/110  esh-var-test/interp-lisp-indices (0.001671 sec)
   passed   35/110  esh-var-test/interp-list-var (0.001838 sec)
   passed   36/110  esh-var-test/interp-list-var-concat (0.001501 sec)
   passed   37/110  esh-var-test/interp-quoted-var (0.003192 sec)
   passed   38/110  esh-var-test/interp-quoted-var-concat (0.003008 sec)
   passed   39/110  esh-var-test/interp-temp-cmd (0.015746 sec)
   passed   40/110  esh-var-test/interp-var (0.001530 sec)
   passed   41/110  esh-var-test/interp-var-assoc (0.004526 sec)
Test esh-var-test/interp-var-indices-subcommand backtrace:
  signal(ert-test-failed (((should (eshell-command-result--equal comma
  ert-fail(((should (eshell-command-result--equal command (eshell-test
  eshell-command-result-equal("echo $eshell-test-value[${*echo 0} ${*e
  #f(compiled-function () #<bytecode 0xa6a8df2b60ef482>)()
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name esh-var-test/interp-var-indices-subco
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  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/esh-var-tests
  command-line()
  normal-top-level()
Test esh-var-test/interp-var-indices-subcommand condition:
    Command logs: command: "echo $eshell-test-value[${*echo 0} ${*echo 2}]"

                  ----------------------------------------
                  [process] started external process ‘echo’
                  ----------------------------------------
                  [process] sentinel for external process ‘echo’: "finished
                  "
                  ----------------------------------------
                  [process] finished external process ‘echo’
                  ----------------------------------------
                  [process] started external process ‘echo’
                  ----------------------------------------
                  [process] received output from process ‘echo’

                  2

                  ----------------------------------------
                  [process] sentinel for external process ‘echo’: "finished
                  "
                  ----------------------------------------
                  [process] finished external process ‘echo’
    (ert-test-failed
     ((should
       (eshell-command-result--equal command
				     (eshell-test-command-result command)
				     result))
      :form
      (eshell-command-result--equal
       "echo $eshell-test-value[${*echo 0} ${*echo 2}]" (nil "two")
       ("zero" "two"))
      :value nil :explanation
      (nonequal-result
       (command "echo $eshell-test-value[${*echo 0} ${*echo 2}]")
       (result (nil "two")) (expected ("zero" "two")))))
   FAILED   42/110  esh-var-test/interp-var-indices-subcommand
(0.787189 sec) at lisp/eshell/esh-var-tests.el:184
   passed   43/110  esh-var-test/interp-var-indices/list (0.019358 sec)
   passed   44/110  esh-var-test/interp-var-indices/ring (0.020269 sec)
   passed   45/110  esh-var-test/interp-var-indices/split (0.037000 sec)
   passed   46/110  esh-var-test/interp-var-indices/vector (0.026923 sec)
   passed   47/110  esh-var-test/interp-var-length-alist (0.010415 sec)
   passed   48/110  esh-var-test/interp-var-length-list (0.006603 sec)
   passed   49/110  esh-var-test/interp-var-length-string (0.002292 sec)
   passed   50/110  esh-var-test/interp-var-regexp-split-indices (0.242747 sec)
   passed   51/110  esh-var-test/interp-var-splice (0.002365 sec)
   passed   52/110  esh-var-test/interp-var-splice-concat (0.004213 sec)
   passed   53/110  esh-var-test/interp-var-string-split-indices (0.016318 sec)
   passed   54/110  esh-var-test/last-arg-var (0.009780 sec)
   passed   55/110  esh-var-test/last-arg-var-indices (0.039239 sec)
   passed   56/110  esh-var-test/last-arg-var-split-indices (0.028203 sec)
   passed   57/110  esh-var-test/last-result-var (0.006147 sec)
   passed   58/110  esh-var-test/last-result-var-ext-cmd (0.266221 sec)
   passed   59/110  esh-var-test/last-result-var-split-indices (0.010959 sec)
   passed   60/110  esh-var-test/last-result-var-twice (0.006037 sec)
   passed   61/110  esh-var-test/last-status-var-ext-cmd (0.231988 sec)
   passed   62/110  esh-var-test/last-status-var-lisp-command (0.009926 sec)
   passed   63/110  esh-var-test/last-status-var-lisp-form (0.006611 sec)
   passed   64/110  esh-var-test/last-status-var-lisp-form-2 (0.005176 sec)
   passed   65/110  esh-var-test/lines-var (0.002246 sec)
   passed   66/110  esh-var-test/local-variables (0.006088 sec)
   passed   67/110  esh-var-test/pager-var/default (0.003803 sec)
   passed   68/110  esh-var-test/pager-var/set (0.005817 sec)
   passed   69/110  esh-var-test/pager-var/set-locally (0.012370 sec)
   passed   70/110  esh-var-test/pager-var/unset (0.005745 sec)
   passed   71/110  esh-var-test/path-var/local-directory (0.002657 sec)
Tramp: Sending command ‘exec sh -i’
Tramp: Found remote shell prompt on ‘SK-MacBook-Pro’
   passed   72/110  esh-var-test/path-var/preserve-across-hosts (0.633738 sec)
   passed   73/110  esh-var-test/path-var/remote-directory (0.008255 sec)
   passed   74/110  esh-var-test/path-var/set (0.002298 sec)
   passed   75/110  esh-var-test/path-var/set-locally (0.006185 sec)
   passed   76/110  esh-var-test/quote-interp-var-indices-subcommand
(0.200504 sec)
   passed   77/110  esh-var-test/quoted-interp-cmd (0.003089 sec)
   passed   78/110  esh-var-test/quoted-interp-cmd-indices (0.003972 sec)
   passed   79/110  esh-var-test/quoted-interp-concat-cmd (0.002686 sec)
   passed   80/110  esh-var-test/quoted-interp-convert-cmd-multiline
(0.002652 sec)
   passed   81/110  esh-var-test/quoted-interp-convert-cmd-number (0.002783 sec)
   passed   82/110
esh-var-test/quoted-interp-convert-cmd-split-indices (0.003088 sec)
   passed   83/110
esh-var-test/quoted-interp-convert-cmd-string-newline (0.004199 sec)
   passed   84/110
esh-var-test/quoted-interp-convert-quoted-var-number (0.006084 sec)
   passed   85/110
esh-var-test/quoted-interp-convert-quoted-var-split-indices (0.004098
sec)
   passed   86/110  esh-var-test/quoted-interp-convert-var-number (0.002988 sec)
   passed   87/110
esh-var-test/quoted-interp-convert-var-split-indices (0.004272 sec)
   passed   88/110  esh-var-test/quoted-interp-lisp (0.001916 sec)
   passed   89/110  esh-var-test/quoted-interp-lisp-indices (0.003084 sec)
   passed   90/110  esh-var-test/quoted-interp-list-var (0.001994 sec)
   passed   91/110  esh-var-test/quoted-interp-list-var-concat (0.001896 sec)
   passed   92/110  esh-var-test/quoted-interp-quoted-var (0.002696 sec)
   passed   93/110  esh-var-test/quoted-interp-temp-cmd (0.014113 sec)
   passed   94/110  esh-var-test/quoted-interp-var (0.001652 sec)
   passed   95/110  esh-var-test/quoted-interp-var-assoc (0.003079 sec)
   passed   96/110  esh-var-test/quoted-interp-var-indices (0.006305 sec)
   passed   97/110  esh-var-test/quoted-interp-var-length-alist (0.004078 sec)
   passed   98/110  esh-var-test/quoted-interp-var-length-list (0.005522 sec)
   passed   99/110  esh-var-test/quoted-interp-var-length-string (0.001733 sec)
   passed  100/110
esh-var-test/quoted-interp-var-regexp-split-indices (0.006641 sec)
   passed  101/110  esh-var-test/quoted-interp-var-splice (0.001625 sec)
   passed  102/110  esh-var-test/quoted-interp-var-splice-concat (0.001853 sec)
   passed  103/110  esh-var-test/quoted-interp-var-split-indices (0.004032 sec)
   passed  104/110
esh-var-test/quoted-interp-var-string-split-indices (0.011405 sec)
   passed  105/110  esh-var-test/set/env-var (0.002622 sec)
   passed  106/110  esh-var-test/set/symbol (0.001815 sec)
   passed  107/110  esh-var-test/setq (0.001772 sec)
   passed  108/110  esh-var-test/uid-var (0.001575 sec)
   passed  109/110  esh-var-test/unset/env-var (0.002218 sec)
   passed  110/110  esh-var-test/unset/symbol (0.001740 sec)

Ran 110 tests, 109 results as expected, 1 unexpected (2023-09-13
22:35:17+0200, 3.917546 sec)

1 unexpected results:
   FAILED  esh-var-test/interp-var-indices-subcommand

Running 11 tests (2023-09-13 22:35:15+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...
Loading em-unix...
   passed   1/11  eshell-test/command-running-p (0.091010 sec)
[echo]+ Done (/bin/echo hi)
   passed   2/11  eshell-test/eshell-command/background (0.127438 sec)
[echo]+ Done (/bin/echo hi)
[cat]+ Done (/bin/cat)
   passed   3/11  eshell-test/eshell-command/background-pipeline (0.128145 sec)
   passed   4/11  eshell-test/eshell-command/pipeline (0.082343 sec)
Test eshell-test/eshell-command/simple backtrace:
  signal(ert-test-failed (((should (equal (buffer-string) "hi\n")) :fo
  ert-fail(((should (equal (buffer-string) "hi\n")) :form (equal "" "h
  #f(compiled-function () #<bytecode -0x15f19fdff774913f>)()
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name eshell-test/eshell-command/simple :do
  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/eshell-tests"
  command-line()
  normal-top-level()
Test eshell-test/eshell-command/simple condition:
    (ert-test-failed
     ((should (equal (buffer-string) "hi\n")) :form (equal "" "hi\n")
      :value nil :explanation
      (arrays-of-different-length 0 3 "" "hi\n" first-mismatch-at 0)))
   FAILED   5/11  eshell-test/eshell-command/simple (0.670351 sec) at
lisp/eshell/eshell-tests.el:41
   passed   6/11  eshell-test/flush-output (0.006822 sec)
   passed   7/11  eshell-test/forward-arg (0.004067 sec)
   passed   8/11  eshell-test/get-old-input (0.001915 sec)
   passed   9/11  eshell-test/get-old-input/rerun-command (0.007355 sec)
   passed  10/11  eshell-test/get-old-input/run-output (0.002997 sec)
   passed  11/11  eshell-test/queue-input (1.041617 sec)

Ran 11 tests, 10 results as expected, 1 unexpected (2023-09-13
22:35:17+0200, 2.483635 sec)

1 unexpected results:
   FAILED  eshell-test/eshell-command/simple

  GEN      lisp/format-spec-tests.log
make[3]: *** [lisp/eshell/eshell-tests.log] Error 1
make[3]: *** [lisp/eshell/esh-var-tests.log] Error 1