Running with gitlab-runner 12.0.2 (d0b76032)  on emba-docker-runner 2oEDrUT7 section_start:1693144957:prepare_executor Using Docker executor with image docker:19.03.12 ... Pulling docker image docker:19.03.12 ... Using docker image sha256:81f5749c9058a7284e6acd8e126f2b882765a17b9ead14422b51cde1a110b85c for docker:19.03.12 ... section_end:1693144958:prepare_executor section_start:1693144958:prepare_script Running on runner-2oEDrUT7-project-1-concurrent-0 via emba.gnu.org... section_end:1693144979:prepare_script section_start:1693144979:get_sources $ git config --global http.proxy $HTTP_PROXY; git config --global https.proxy $HTTPS_PROXY Fetching changes with git depth set to 50... Reinitialized existing Git repository in /builds/emacs/emacs/.git/ From https://emba.gnu.org/emacs/emacs c122cc8..37dcdea master -> origin/master Checking out c122cc83 as master... Skipping Git submodules setup section_end:1693144996:get_sources section_start:1693144996:restore_cache section_end:1693145003:restore_cache section_start:1693145003:download_artifacts section_end:1693145011:download_artifacts section_start:1693145011:build_script $ docker info Client: Debug Mode: false Server: Containers: 32 Running: 6 Paused: 0 Stopped: 26 Images: 10 Server Version: 20.10.21 Storage Driver: overlay2 Backing Filesystem: xfs Supports d_type: true Native Overlay Diff: true userxattr: false Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: bridge host ipvlan macvlan null overlay Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog Swarm: inactive Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc Default Runtime: runc Init Binary: docker-init containerd version: runc version: init version: Security Options: apparmor seccomp Profile: default Kernel Version: 4.15.0-213-generic Operating System: Trisquel GNU/Linux Etiona (9.0.2) OSType: linux Architecture: x86_64 CPUs: 2 Total Memory: 7.789GiB Name: emba.gnu.org ID: X47L:JFLM:IP7X:AN3A:6FS4:N5DF:SGWZ:KSYJ:GQ2L:ZEKB:GUXD:3IZT Docker Root Dir: /var/lib/docker Debug Mode: false HTTP Proxy: http://serverproxy0p.fsf.org:8118/ HTTPS Proxy: http://serverproxy0p.fsf.org:8118/ No Proxy: localhost,127.0.0.1,eggs.gnu.org,emba.gnu.org/ Registry: https://index.docker.io/v1/ Labels: Experimental: false Insecure Registries: 127.0.0.0/8 Live Restore Enabled: false $ echo "docker registry is ${CI_REGISTRY}" docker registry is emba.gnu.org:5050 $ docker login -u ${CI_REGISTRY_USER} -p ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY} WARNING: No swap limit support WARNING! Using --password via the CLI is insecure. Use --password-stdin. WARNING! Your password will be stored unencrypted in /.docker-config-c122cc831869a9a11f50187c5cf999389b223eee/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded $ docker pull ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} emacs-inotify-master: Pulling from emacs/emacs Digest: sha256:3038975db0a7f51c474e1e079b5d9c1685ae7a42446bfa05e393160e83cb5b09 Status: Image is up to date for emba.gnu.org:5050/emacs/emacs:emacs-inotify-master emba.gnu.org:5050/emacs/emacs:emacs-inotify-master $ export PWD=$(pwd) $ docker run -i -e EMACS_EMBA_CI=${EMACS_EMBA_CI} -e EMACS_TEST_JUNIT_REPORT=${EMACS_TEST_JUNIT_REPORT} -e EMACS_TEST_TIMEOUT=${EMACS_TEST_TIMEOUT} -e EMACS_TEST_VERBOSE=${EMACS_TEST_VERBOSE} --volumes-from $(docker ps -q -f "label=com.gitlab.gitlab-runner.job.id=${CI_JOB_ID}"):ro --name ${test_name} ${CI_REGISTRY_IMAGE}:${target}-${BUILD_TAG} /bin/bash -xvc "git fetch ${PWD} HEAD && echo checking out these updated files && git diff --name-only FETCH_HEAD && ( git diff --name-only FETCH_HEAD | xargs git checkout -f FETCH_HEAD ) && make -j4 && make ${make_params}" git fetch /builds/emacs/emacs HEAD && echo checking out these updated files && git diff --name-only FETCH_HEAD && ( git diff --name-only FETCH_HEAD | xargs git checkout -f FETCH_HEAD ) && make -j4 && make check-expensive + git fetch /builds/emacs/emacs HEAD From /builds/emacs/emacs * branch HEAD -> FETCH_HEAD + echo checking out these updated files checking out these updated files + git diff --name-only FETCH_HEAD + xargs git checkout -f FETCH_HEAD + git diff --name-only FETCH_HEAD HEAD is now at c122cc8 Some minor Tramp changes + make -j4 make actual-all || make advice-on-failure make-target=all exit-status=$? make[1]: Entering directory '/checkout' make -C lib all make -C doc/lispref info make -C doc/lispintro info make -C doc/emacs info make[2]: Entering directory '/checkout/doc/lispref' make[2]: Nothing to be done for 'info'. make[2]: Leaving directory '/checkout/doc/lispref' make[2]: Entering directory '/checkout/doc/emacs' make[2]: Entering directory '/checkout/doc/lispintro' make[2]: Nothing to be done for 'info'. make[2]: Leaving directory '/checkout/doc/lispintro' make[2]: Nothing to be done for 'info'. make[2]: Leaving directory '/checkout/doc/emacs' make[2]: Entering directory '/checkout/lib' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/checkout/lib' make -C lib-src all make[2]: Entering directory '/checkout/lib-src' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/checkout/lib-src' make -C src BIN_DESTDIR=''/usr/local/bin/'' \ ELN_DESTDIR='/usr/local/lib/emacs/30.0.50/' all make[2]: Entering directory '/checkout/src' make -C ../admin/charsets all make -C ../admin/unidata charscript.el make -C ../admin/unidata emoji-zwj.el make[3]: Entering directory '/checkout/admin/unidata' make -C ../admin/charsets cp51932.el make[3]: Entering directory '/checkout/admin/unidata' make[3]: Entering directory '/checkout/admin/charsets' make[3]: Nothing to be done for 'cp51932.el'. make[3]: Leaving directory '/checkout/admin/charsets' make -C ../admin/charsets eucjp-ms.el make[3]: Entering directory '/checkout/admin/charsets' make[3]: Nothing to be done for 'eucjp-ms.el'. make[3]: Leaving directory '/checkout/admin/charsets' make[3]: Nothing to be done for 'charscript.el'. make[3]: Leaving directory '/checkout/admin/unidata' make[3]: Nothing to be done for 'emoji-zwj.el'. make[3]: Leaving directory '/checkout/admin/unidata' make[3]: Entering directory '/checkout/admin/charsets' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/checkout/admin/charsets' make -C ../admin/unidata all EMACS="../../src/bootstrap-emacs" make[3]: Entering directory '/checkout/admin/unidata' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/checkout/admin/unidata' make[2]: Leaving directory '/checkout/src' make -C lisp all make[2]: Entering directory '/checkout/lisp' make -C ../leim all EMACS="../src/emacs" make -C ../admin/grammars all EMACS="../../src/emacs" make[3]: Entering directory '/checkout/admin/grammars' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/checkout/admin/grammars' make[3]: Entering directory '/checkout/leim' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/checkout/leim' make[3]: Entering directory '/checkout/lisp' make[3]: Nothing to be done for 'compile-targets'. make[3]: Leaving directory '/checkout/lisp' GEN autoloads make[3]: Entering directory '/checkout/leim' make[3]: Nothing to be done for 'generate-ja-dic'. make[3]: Leaving directory '/checkout/leim' make[3]: Entering directory '/checkout/doc/misc' make[3]: 'org.texi' is up to date. make[3]: 'modus-themes.texi' is up to date. make[3]: Leaving directory '/checkout/doc/misc' make[3]: Entering directory '/checkout/lisp' make[3]: Nothing to be done for 'compile-targets'. make[3]: Leaving directory '/checkout/lisp' INFO Scraping files for loaddefs... INFO Scraping files for loaddefs...60% INFO Scraping files for loaddefs...done INFO Scraping files for loaddefs... INFO Scraping files for loaddefs...done make[3]: Entering directory '/checkout/lisp' make[3]: Nothing to be done for 'compile-targets'. make[3]: Leaving directory '/checkout/lisp' make[2]: Leaving directory '/checkout/lisp' make -C doc/misc info make -C src BIN_DESTDIR=''/usr/local/bin/'' ELN_DESTDIR='/usr/local/lib/emacs/30.0.50/' make[2]: Entering directory '/checkout/doc/misc' make[2]: Nothing to be done for 'info'. make[2]: Leaving directory '/checkout/doc/misc' make[2]: Entering directory '/checkout/src' make -C ../admin/charsets all make -C ../admin/unidata charscript.el make -C ../admin/unidata emoji-zwj.el make -C ../admin/charsets cp51932.el make[3]: Entering directory '/checkout/admin/unidata' make[3]: Entering directory '/checkout/admin/unidata' make[3]: Entering directory '/checkout/admin/charsets' make[3]: Nothing to be done for 'cp51932.el'. make[3]: Leaving directory '/checkout/admin/charsets' make -C ../admin/charsets eucjp-ms.el make[3]: Nothing to be done for 'charscript.el'. make[3]: Leaving directory '/checkout/admin/unidata' make[3]: Entering directory '/checkout/admin/charsets' make[3]: Nothing to be done for 'eucjp-ms.el'. make[3]: Leaving directory '/checkout/admin/charsets' make[3]: Nothing to be done for 'emoji-zwj.el'. make[3]: Leaving directory '/checkout/admin/unidata' make[3]: Entering directory '/checkout/admin/charsets' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/checkout/admin/charsets' make -C ../admin/unidata all EMACS="../../src/bootstrap-emacs" make[3]: Entering directory '/checkout/admin/unidata' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/checkout/admin/unidata' make[2]: Leaving directory '/checkout/src' make[1]: Leaving directory '/checkout' make sanity-check make-target=all make[1]: Entering directory '/checkout' make[1]: Leaving directory '/checkout' + make check-expensive make actual-all || make advice-on-failure make-target=all exit-status=$? make[1]: Entering directory '/checkout' make -C lib all make[2]: Entering directory '/checkout/lib' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/checkout/lib' make -C lib-src all make[2]: Entering directory '/checkout/lib-src' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/checkout/lib-src' make -C src BIN_DESTDIR=''/usr/local/bin/'' \ ELN_DESTDIR='/usr/local/lib/emacs/30.0.50/' all make[2]: Entering directory '/checkout/src' make -C ../admin/charsets all make[3]: Entering directory '/checkout/admin/charsets' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/checkout/admin/charsets' make -C ../admin/unidata charscript.el make[3]: Entering directory '/checkout/admin/unidata' make[3]: Nothing to be done for 'charscript.el'. make[3]: Leaving directory '/checkout/admin/unidata' make -C ../admin/unidata emoji-zwj.el make[3]: Entering directory '/checkout/admin/unidata' make[3]: Nothing to be done for 'emoji-zwj.el'. make[3]: Leaving directory '/checkout/admin/unidata' make -C ../admin/unidata all EMACS="../../src/bootstrap-emacs" make[3]: Entering directory '/checkout/admin/unidata' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/checkout/admin/unidata' make -C ../admin/charsets cp51932.el make[3]: Entering directory '/checkout/admin/charsets' make[3]: Nothing to be done for 'cp51932.el'. make[3]: Leaving directory '/checkout/admin/charsets' make -C ../admin/charsets eucjp-ms.el make[3]: Entering directory '/checkout/admin/charsets' make[3]: Nothing to be done for 'eucjp-ms.el'. make[3]: Leaving directory '/checkout/admin/charsets' make[2]: Leaving directory '/checkout/src' make -C lisp all make[2]: Entering directory '/checkout/lisp' make -C ../leim all EMACS="../src/emacs" make[3]: Entering directory '/checkout/leim' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/checkout/leim' make -C ../admin/grammars all EMACS="../../src/emacs" make[3]: Entering directory '/checkout/admin/grammars' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/checkout/admin/grammars' make[3]: Entering directory '/checkout/lisp' make[3]: Nothing to be done for 'compile-targets'. make[3]: Leaving directory '/checkout/lisp' GEN autoloads INFO Scraping files for loaddefs... INFO Scraping files for loaddefs...60% INFO Scraping files for loaddefs...done INFO Scraping files for loaddefs... INFO Scraping files for loaddefs...done make[3]: Entering directory '/checkout/lisp' make[3]: Nothing to be done for 'compile-targets'. make[3]: Leaving directory '/checkout/lisp' make[3]: Entering directory '/checkout/leim' make[3]: Nothing to be done for 'generate-ja-dic'. make[3]: Leaving directory '/checkout/leim' make[3]: Entering directory '/checkout/lisp' make[3]: Nothing to be done for 'compile-targets'. make[3]: Leaving directory '/checkout/lisp' make[3]: Entering directory '/checkout/doc/misc' make[3]: 'org.texi' is up to date. make[3]: 'modus-themes.texi' is up to date. make[3]: Leaving directory '/checkout/doc/misc' make[2]: Leaving directory '/checkout/lisp' make -C doc/lispref info make[2]: Entering directory '/checkout/doc/lispref' make[2]: Nothing to be done for 'info'. make[2]: Leaving directory '/checkout/doc/lispref' make -C doc/lispintro info make[2]: Entering directory '/checkout/doc/lispintro' make[2]: Nothing to be done for 'info'. make[2]: Leaving directory '/checkout/doc/lispintro' make -C doc/emacs info make[2]: Entering directory '/checkout/doc/emacs' make[2]: Nothing to be done for 'info'. make[2]: Leaving directory '/checkout/doc/emacs' make -C doc/misc info make[2]: Entering directory '/checkout/doc/misc' make[2]: Nothing to be done for 'info'. make[2]: Leaving directory '/checkout/doc/misc' make -C src BIN_DESTDIR=''/usr/local/bin/'' ELN_DESTDIR='/usr/local/lib/emacs/30.0.50/' make[2]: Entering directory '/checkout/src' make -C ../admin/charsets all make[3]: Entering directory '/checkout/admin/charsets' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/checkout/admin/charsets' make -C ../admin/unidata charscript.el make[3]: Entering directory '/checkout/admin/unidata' make[3]: Nothing to be done for 'charscript.el'. make[3]: Leaving directory '/checkout/admin/unidata' make -C ../admin/unidata emoji-zwj.el make[3]: Entering directory '/checkout/admin/unidata' make[3]: Nothing to be done for 'emoji-zwj.el'. make[3]: Leaving directory '/checkout/admin/unidata' make -C ../admin/unidata all EMACS="../../src/bootstrap-emacs" make[3]: Entering directory '/checkout/admin/unidata' make[3]: Nothing to be done for 'all'. make[3]: Leaving directory '/checkout/admin/unidata' make -C ../admin/charsets cp51932.el make[3]: Entering directory '/checkout/admin/charsets' make[3]: Nothing to be done for 'cp51932.el'. make[3]: Leaving directory '/checkout/admin/charsets' make -C ../admin/charsets eucjp-ms.el make[3]: Entering directory '/checkout/admin/charsets' make[3]: Nothing to be done for 'eucjp-ms.el'. make[3]: Leaving directory '/checkout/admin/charsets' make[2]: Leaving directory '/checkout/src' make[1]: Leaving directory '/checkout' make sanity-check make-target=all make[1]: Entering directory '/checkout' make[1]: Leaving directory '/checkout' make -C test check-expensive make[1]: Entering directory '/checkout/test' rm -f ./*.tmp make[2]: Entering directory '/checkout/test' make[3]: Entering directory '/checkout/test' ELC lisp/net/tramp-tests.elc GEN lisp/net/tramp-tests.log Running 91 tests (2023-08-27 14:04:37+0000, selector `(not (or (tag :unstable) (tag :nativecomp)))') Remote directory: `/mock::/tmp/' passed 1/91 tramp-test00-availability (0.405053 sec) passed 2/91 tramp-test01-file-name-syntax (0.117098 sec) passed 3/91 tramp-test01-file-name-syntax-separate (0.003487 sec) passed 4/91 tramp-test01-file-name-syntax-simplified (0.000945 sec) passed 5/91 tramp-test02-file-name-dissect (0.060959 sec) passed 6/91 tramp-test02-file-name-dissect-separate (0.057968 sec) passed 7/91 tramp-test02-file-name-dissect-simplified (0.035478 sec) passed 8/91 tramp-test03-file-name-defaults (0.046251 sec) passed 9/91 tramp-test03-file-name-host-rules (0.558822 sec) passed 10/91 tramp-test03-file-name-method-rules (0.740847 sec) passed 11/91 tramp-test04-substitute-in-file-name (0.021353 sec) passed 12/91 tramp-test05-expand-file-name (0.001772 sec) passed 13/91 tramp-test05-expand-file-name-relative (0.599895 sec) passed 14/91 tramp-test05-expand-file-name-top (0.622681 sec) passed 15/91 tramp-test06-directory-file-name (0.681843 sec) passed 16/91 tramp-test07-abbreviate-file-name (1.710545 sec) passed 17/91 tramp-test07-file-exists-p (2.546474 sec) passed 18/91 tramp-test08-file-local-copy (2.246283 sec) passed 19/91 tramp-test09-insert-file-contents (3.017592 sec) Wrote /mock:991bead964b2:/tmp/tramp-testhSwvGu Wrote /mock:991bead964b2:/tmp/tramp-testhSwvGu Wrote /mock:991bead964b2:/tmp/tramp-testhSwvGu Wrote /mock:991bead964b2:/:/tmp/tramp-testKGQw0W Wrote /mock:991bead964b2:/:/tmp/tramp-testKGQw0W Wrote /mock:991bead964b2:/:/tmp/tramp-testKGQw0W passed 20/91 tramp-test10-write-region (11.865731 sec) passed 21/91 tramp-test10-write-region-file-precious-flag (3.753004 sec) skipped 22/91 tramp-test10-write-region-other-file-name-handler (0.279988 sec) passed 23/91 tramp-test11-copy-file (13.740232 sec) passed 24/91 tramp-test12-rename-file (10.197429 sec) passed 25/91 tramp-test13-make-directory (1.185303 sec) passed 26/91 tramp-test14-delete-directory (5.928608 sec) passed 27/91 tramp-test15-copy-directory (7.185286 sec) passed 28/91 tramp-test16-directory-files (1.801009 sec) passed 29/91 tramp-test16-file-expand-wildcards (2.943200 sec) passed 30/91 tramp-test17-dired-with-wildcards (4.067204 sec) passed 31/91 tramp-test17-insert-directory (2.179897 sec) passed 32/91 tramp-test17-insert-directory-one-file (1.471365 sec) passed 33/91 tramp-test18-file-attributes (6.971010 sec) passed 34/91 tramp-test18-file-attributes-with-ls (6.888444 sec) passed 35/91 tramp-test18-file-attributes-with-perl (7.934234 sec) passed 36/91 tramp-test18-file-attributes-with-stat (7.121375 sec) passed 37/91 tramp-test19-directory-files-and-attributes (2.574496 sec) passed 38/91 tramp-test19-directory-files-and-attributes-with-ls (4.110283 sec) passed 39/91 tramp-test19-directory-files-and-attributes-with-perl (4.183891 sec) passed 40/91 tramp-test19-directory-files-and-attributes-with-stat (3.931556 sec) passed 41/91 tramp-test20-file-modes (2.397260 sec) passed 42/91 tramp-test21-file-links (11.817714 sec) passed 43/91 tramp-test22-file-times (1.893531 sec) passed 44/91 tramp-test23-visited-file-modtime (1.937607 sec) passed 45/91 tramp-test24-file-acl (2.866184 sec) skipped 46/91 tramp-test25-file-selinux (0.536255 sec) passed 47/91 tramp-test26-file-name-completion (4.557061 sec) passed 48/91 tramp-test26-file-name-completion-with-ls (3.804948 sec) passed 49/91 tramp-test26-file-name-completion-with-perl (5.218025 sec) passed 50/91 tramp-test26-interactive-file-name-completion (36.693142 sec) passed 51/91 tramp-test27-load (3.213543 sec) passed 52/91 tramp-test28-process-file (5.203523 sec) passed 53/91 tramp-test29-start-file-process (2.344687 sec) passed 54/91 tramp-test29-start-file-process-direct-async (2.110918 sec) passed 55/91 tramp-test30-make-process-direct-async (1.699493 sec) skipped 56/91 tramp-test31-list-system-processes (0.723570 sec) passed 57/91 tramp-test31-memory-info (0.926677 sec) skipped 58/91 tramp-test31-process-attributes (1.207959 sec) passed 59/91 tramp-test32-shell-command (3.875027 sec) passed 60/91 tramp-test33-environment-variables (5.227381 sec) passed 61/91 tramp-test33-environment-variables-and-port-numbers (0.915332 sec) passed 62/91 tramp-test33-environment-variables-direct-async (1.728627 sec) passed 63/91 tramp-test34-connection-local-variables (5.078912 sec) passed 64/91 tramp-test34-explicit-shell-file-name (0.949036 sec) passed 65/91 tramp-test35-exec-path (1.672230 sec) passed 66/91 tramp-test35-remote-path (16.888528 sec) (Git) passed 67/91 tramp-test36-vc-registered (4.935734 sec) passed 68/91 tramp-test37-make-auto-save-file-name (7.087637 sec) passed 69/91 tramp-test38-find-backup-file-name (8.113882 sec) passed 70/91 tramp-test39-detect-external-change (14.653563 sec) passed 71/91 tramp-test39-make-lock-file-name (26.145902 sec) passed 72/91 tramp-test40-make-nearby-temp-file (2.089018 sec) passed 73/91 tramp-test41-special-characters (53.795275 sec) passed 74/91 tramp-test41-special-characters-with-ls (67.100154 sec) passed 75/91 tramp-test41-special-characters-with-perl (67.984153 sec) passed 76/91 tramp-test41-special-characters-with-stat (58.592688 sec) passed 77/91 tramp-test42-utf8 (396.272846 sec) skipped 78/91 tramp-test42-utf8-with-ls (0.044332 sec) skipped 79/91 tramp-test42-utf8-with-perl (2.427848 sec) skipped 80/91 tramp-test42-utf8-with-stat (1.064239 sec) passed 81/91 tramp-test43-file-system-info (1.753912 sec) passed 82/91 tramp-test44-file-user-group-ids (1.791290 sec) tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed *tramp/mock 991bead964b2* *tramp/mock 991bead964b2* Start timer foo<5> Sun Aug 27 14:20:41 2023 Continue timer foo<5> nil Stop timer foo<5> Sun Aug 27 14:20:42 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed *tramp/mock 991bead964b2* *tramp/mock 991bead964b2* Start timer foo Sun Aug 27 14:20:42 2023 Continue timer foo nil Stop timer foo Sun Aug 27 14:20:43 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed *tramp/mock 991bead964b2* *tramp/mock 991bead964b2* Start timer foo<2> Sun Aug 27 14:20:43 2023 Continue timer foo<2> nil Stop timer foo<2> Sun Aug 27 14:20:44 2023 Start action 0 foo<8> Sun Aug 27 14:20:44 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<8> foo<8> Process filter foo<8> foo<8> Sun Aug 27 14:20:44 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed *tramp/mock 991bead964b2* *tramp/mock 991bead964b2* Start timer foo<5> Sun Aug 27 14:20:44 2023 Continue timer foo<5> nil Stop timer foo<5> Sun Aug 27 14:20:45 2023 Continue action 0 foo<8> Sun Aug 27 14:20:45 2023 Stop action 0 foo<8> Sun Aug 27 14:20:45 2023 Start action 0 foo<4> Sun Aug 27 14:20:45 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<4> foo<4> Process filter foo<4> foo<4> Sun Aug 27 14:20:45 2023 Continue action 0 foo<4> Sun Aug 27 14:20:45 2023 Stop action 0 foo<4> Sun Aug 27 14:20:45 2023 Start action 0 foo<5> Sun Aug 27 14:20:45 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<5> foo<5> Process filter foo<5> foo<5> Sun Aug 27 14:20:45 2023 Continue action 0 foo<5> Sun Aug 27 14:20:45 2023 Stop action 0 foo<5> Sun Aug 27 14:20:45 2023 Start action 0 foo Sun Aug 27 14:20:45 2023 Continue action 0 foo Sun Aug 27 14:20:45 2023 Stop action 0 foo Sun Aug 27 14:20:45 2023 Start action 0 foo<6> Sun Aug 27 14:20:45 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed *tramp/mock 991bead964b2* *tramp/mock 991bead964b2* Start timer foo<9> Sun Aug 27 14:20:45 2023 Continue timer foo<9> nil Stop timer foo<9> Sun Aug 27 14:20:46 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<6> foo<6> Process filter foo<6> foo<6> Sun Aug 27 14:20:46 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo foo Process filter foo foo Sun Aug 27 14:20:46 2023 Continue action 0 foo<6> Sun Aug 27 14:20:46 2023 Stop action 0 foo<6> Sun Aug 27 14:20:46 2023 Start action 1 foo<6> Sun Aug 27 14:20:46 2023 Continue action 1 foo<6> Sun Aug 27 14:20:46 2023 Stop action 1 foo<6> Sun Aug 27 14:20:46 2023 Start action 1 foo<4> Sun Aug 27 14:20:46 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<6> foo<6> Process filter foo<6> foo<6> Sun Aug 27 14:20:46 2023 Continue action 1 foo<4> Sun Aug 27 14:20:46 2023 Stop action 1 foo<4> Sun Aug 27 14:20:46 2023 Start action 1 foo<5> Sun Aug 27 14:20:46 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<4> foo<4> Process filter foo<4> foo<4> Sun Aug 27 14:20:46 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<5> foo<5> Process filter foo<5> foo<5> Sun Aug 27 14:20:46 2023 Continue action 1 foo<5> Sun Aug 27 14:20:46 2023 Stop action 1 foo<5> Sun Aug 27 14:20:46 2023 Start action 0 foo<3> Sun Aug 27 14:20:46 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed *tramp/mock 991bead964b2* *tramp/mock 991bead964b2* Start timer foo<7> Sun Aug 27 14:20:46 2023 Continue timer foo<7> nil Stop timer foo<7> Sun Aug 27 14:20:46 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<3> foo<3> Process filter foo<3> foo<3> Sun Aug 27 14:20:46 2023 Continue action 0 foo<3> Sun Aug 27 14:20:46 2023 Stop action 0 foo<3> Sun Aug 27 14:20:46 2023 Start action 2 foo<5> Sun Aug 27 14:20:46 2023 Continue action 2 foo<5> Sun Aug 27 14:20:47 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<5> foo<5> Process sentinel foo<5> Sun Aug 27 14:20:47 2023 Stop action 2 foo<5> Sun Aug 27 14:20:47 2023 Start action 2 foo<6> Sun Aug 27 14:20:47 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<6> foo<6> Process sentinel foo<6> Sun Aug 27 14:20:47 2023 Continue action 2 foo<6> Sun Aug 27 14:20:47 2023 Stop action 2 foo<6> Sun Aug 27 14:20:47 2023 Start action 1 foo Sun Aug 27 14:20:47 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo foo Process filter foo foo Sun Aug 27 14:20:47 2023 Continue action 1 foo Sun Aug 27 14:20:47 2023 Stop action 1 foo Sun Aug 27 14:20:47 2023 Start action 2 foo<4> Sun Aug 27 14:20:47 2023 Continue action 2 foo<4> Sun Aug 27 14:20:47 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<4> foo<4> Process sentinel foo<4> Sun Aug 27 14:20:47 2023 Stop action 2 foo<4> Sun Aug 27 14:20:47 2023 Start action 0 foo<9> Sun Aug 27 14:20:47 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<9> foo<9> Process filter foo<9> foo<9> Sun Aug 27 14:20:47 2023 Continue action 0 foo<9> Sun Aug 27 14:20:47 2023 Stop action 0 foo<9> Sun Aug 27 14:20:47 2023 Start action 0 foo<2> Sun Aug 27 14:20:47 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed *tramp/mock 991bead964b2* *tramp/mock 991bead964b2* Start timer foo<4> Sun Aug 27 14:20:47 2023 Continue timer foo<4> nil Stop timer foo<4> Sun Aug 27 14:20:48 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<2> foo<2> Process filter foo<2> foo<2> Sun Aug 27 14:20:48 2023 Continue action 0 foo<2> Sun Aug 27 14:20:48 2023 Stop action 0 foo<2> Sun Aug 27 14:20:48 2023 Start action 0 foo<10> Sun Aug 27 14:20:48 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<10> foo<10> Process filter foo<10> foo<10> Sun Aug 27 14:20:48 2023 Continue action 0 foo<10> Sun Aug 27 14:20:48 2023 Stop action 0 foo<10> Sun Aug 27 14:20:48 2023 Start action 1 foo<8> Sun Aug 27 14:20:48 2023 Continue action 1 foo<8> Sun Aug 27 14:20:48 2023 Stop action 1 foo<8> Sun Aug 27 14:20:48 2023 Start action 0 foo<7> Sun Aug 27 14:20:48 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<8> foo<8> Process filter foo<8> foo<8> Sun Aug 27 14:20:48 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<7> foo<7> Process filter foo<7> foo<7> Sun Aug 27 14:20:48 2023 Continue action 0 foo<7> Sun Aug 27 14:20:48 2023 Stop action 0 foo<7> Sun Aug 27 14:20:48 2023 Start action 1 foo<2> Sun Aug 27 14:20:48 2023 Continue action 1 foo<2> Sun Aug 27 14:20:48 2023 Stop action 1 foo<2> Sun Aug 27 14:20:48 2023 Start action 2 foo Sun Aug 27 14:20:48 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed *tramp/mock 991bead964b2* *tramp/mock 991bead964b2* Start timer foo<9> Sun Aug 27 14:20:48 2023 Continue timer foo<9> (nil 1 0 0 (25835 23487 0 0) (25835 23487 0 0) (25835 23487 0 0) 7 -rw-r--r-- nil 68759310 (-1 . 80)) Stop timer foo<9> Sun Aug 27 14:20:48 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<2> foo<2> Process filter foo<2> foo<2> Sun Aug 27 14:20:48 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo foo Process sentinel foo Sun Aug 27 14:20:48 2023 Continue action 2 foo Sun Aug 27 14:20:48 2023 Stop action 2 foo Sun Aug 27 14:20:48 2023 Start action 1 foo<9> Sun Aug 27 14:20:48 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<9> foo<9> Process filter foo<9> foo<9> Sun Aug 27 14:20:48 2023 Continue action 1 foo<9> Sun Aug 27 14:20:49 2023 Stop action 1 foo<9> Sun Aug 27 14:20:49 2023 Start action 2 foo<9> Sun Aug 27 14:20:49 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<9> foo<9> Process sentinel foo<9> Sun Aug 27 14:20:49 2023 Continue action 2 foo<9> Sun Aug 27 14:20:49 2023 Stop action 2 foo<9> Sun Aug 27 14:20:49 2023 Start action 1 foo<3> Sun Aug 27 14:20:49 2023 Continue action 1 foo<3> Sun Aug 27 14:20:49 2023 Stop action 1 foo<3> Sun Aug 27 14:20:49 2023 Start action 2 foo<2> Sun Aug 27 14:20:49 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<3> foo<3> Process filter foo<3> foo<3> Sun Aug 27 14:20:49 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<2> foo<2> Process sentinel foo<2> Sun Aug 27 14:20:49 2023 Continue action 2 foo<2> Sun Aug 27 14:20:49 2023 Stop action 2 foo<2> Sun Aug 27 14:20:49 2023 Start action 2 foo<3> Sun Aug 27 14:20:49 2023 Continue action 2 foo<3> Sun Aug 27 14:20:49 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<3> foo<3> Process sentinel foo<3> Sun Aug 27 14:20:49 2023 Stop action 2 foo<3> Sun Aug 27 14:20:49 2023 Start action 1 foo<10> Sun Aug 27 14:20:49 2023 Continue action 1 foo<10> Sun Aug 27 14:20:49 2023 Stop action 1 foo<10> Sun Aug 27 14:20:49 2023 Start action 2 foo<8> Sun Aug 27 14:20:49 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed *tramp/mock 991bead964b2* *tramp/mock 991bead964b2* Start timer foo<2> Sun Aug 27 14:20:49 2023 Continue timer foo<2> nil Stop timer foo<2> Sun Aug 27 14:20:50 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<10> foo<10> Process filter foo<10> foo<10> Sun Aug 27 14:20:50 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<8> foo<8> Process sentinel foo<8> Sun Aug 27 14:20:50 2023 Continue action 2 foo<8> Sun Aug 27 14:20:50 2023 Stop action 2 foo<8> Sun Aug 27 14:20:50 2023 Start action 1 foo<7> Sun Aug 27 14:20:50 2023 Continue action 1 foo<7> Sun Aug 27 14:20:50 2023 Stop action 1 foo<7> Sun Aug 27 14:20:50 2023 Start action 2 foo<7> Sun Aug 27 14:20:50 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<7> foo<7> Process filter foo<7> foo<7> Sun Aug 27 14:20:50 2023 Continue action 2 foo<7> Sun Aug 27 14:20:50 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<7> foo<7> Process sentinel foo<7> Sun Aug 27 14:20:50 2023 Stop action 2 foo<7> Sun Aug 27 14:20:50 2023 Start action 2 foo<10> Sun Aug 27 14:20:50 2023 tramp--test-with-proper-process-name-and-buffer before nil nil tramp--test-with-proper-process-name-and-buffer changed foo<10> foo<10> Process sentinel foo<10> Sun Aug 27 14:20:50 2023 Continue action 2 foo<10> Sun Aug 27 14:20:50 2023 Stop action 2 foo<10> Sun Aug 27 14:20:50 2023 Check Sun Aug 27 14:20:50 2023 passed 83/91 tramp-test45-asynchronous-requests (10.208070 sec) skipped 84/91 tramp-test46-dired-compress-dir (0.038485 sec) skipped 85/91 tramp-test46-dired-compress-file (0.975358 sec) passed 86/91 tramp-test48-auto-load (1.896810 sec) passed 87/91 tramp-test48-delay-load (0.738157 sec) passed 88/91 tramp-test48-recursive-load (2.076649 sec) passed 89/91 tramp-test48-remote-load-path (0.800977 sec) passed 90/91 tramp-test49-without-remote-files (0.773710 sec) passed 91/91 tramp-test50-unload (1.747428 sec) Ran 91 tests, 82 results as expected, 0 unexpected, 9 skipped (2023-08-27 14:20:59+0000, 982.477337 sec) 9 skipped results: SKIPPED tramp-test10-write-region-other-file-name-handler ((skip-unless (boundp 'tar-goto-file)) :form (boundp tar-goto-file) :value nil) SKIPPED tramp-test25-file-selinux ((skip-unless (not (equal (file-selinux-context ert-remote-temporary-file-directory) '(nil nil nil nil)))) :form (not t) :value nil) SKIPPED tramp-test31-list-system-processes ((skip-unless (consp (list-system-processes))) :form (consp nil) :value nil) SKIPPED tramp-test31-process-attributes ((skip-unless (consp (list-system-processes))) :form (consp nil) :value nil) SKIPPED tramp-test42-utf8-with-ls ((skip-unless (< (ert-test-result-duration result) 300)) :form (< 396.272845836 300) :value nil) SKIPPED tramp-test42-utf8-with-perl ((skip-unless (< (ert-test-result-duration result) 300)) :form (< 396.272845836 300) :value nil) SKIPPED tramp-test42-utf8-with-stat ((skip-unless (< (ert-test-result-duration result) 300)) :form (< 396.272845836 300) :value nil) SKIPPED tramp-test46-dired-compress-dir ((skip-unless (not (tramp--test-emacs29-p))) :form (not t) :value nil) SKIPPED tramp-test46-dired-compress-file ((skip-unless (not (tramp--test-emacs29-p))) :form (not t) :value nil)  ELC lib-src/emacsclient-tests.elc GEN lib-src/emacsclient-tests.log ELC lisp/abbrev-tests.elc GEN lisp/abbrev-tests.log ELC lisp/align-tests.elc GEN lisp/align-tests.log ELC lisp/allout-tests.elc GEN lisp/allout-tests.log ELC lisp/allout-widgets-tests.elc GEN lisp/allout-widgets-tests.log ELC lisp/ansi-color-tests.elc GEN lisp/ansi-color-tests.log ELC lisp/ansi-osc-tests.elc GEN lisp/ansi-osc-tests.log ELC lisp/apropos-tests.elc GEN lisp/apropos-tests.log ELC lisp/arc-mode-tests.elc GEN lisp/arc-mode-tests.log ELC lisp/auth-source-pass-tests.elc GEN lisp/auth-source-pass-tests.log ELC lisp/auth-source-tests.elc GEN lisp/auth-source-tests.log ELC lisp/autoinsert-tests.elc GEN lisp/autoinsert-tests.log ELC lisp/autorevert-tests.elc GEN lisp/autorevert-tests.log ELC lisp/battery-tests.elc GEN lisp/battery-tests.log ELC lisp/bookmark-tests.elc GEN lisp/bookmark-tests.log ELC lisp/buff-menu-tests.elc GEN lisp/buff-menu-tests.log ELC lisp/button-tests.elc GEN lisp/button-tests.log ELC lisp/calc/calc-tests.elc GEN lisp/calc/calc-tests.log ELC lisp/calculator-tests.elc GEN lisp/calculator-tests.log ELC lisp/calendar/cal-french-tests.elc GEN lisp/calendar/cal-french-tests.log ELC lisp/calendar/cal-julian-tests.elc GEN lisp/calendar/cal-julian-tests.log ELC lisp/calendar/icalendar-tests.elc GEN lisp/calendar/icalendar-tests.log ELC lisp/calendar/iso8601-tests.elc GEN lisp/calendar/iso8601-tests.log ELC lisp/calendar/lunar-tests.elc GEN lisp/calendar/lunar-tests.log ELC lisp/calendar/parse-time-tests.elc GEN lisp/calendar/parse-time-tests.log ELC lisp/calendar/solar-tests.elc GEN lisp/calendar/solar-tests.log ELC lisp/calendar/time-date-tests.elc GEN lisp/calendar/time-date-tests.log ELC lisp/calendar/todo-mode-tests.elc GEN lisp/calendar/todo-mode-tests.log ELC lisp/cedet/cedet-files-tests.elc GEN lisp/cedet/cedet-files-tests.log ELC lisp/cedet/semantic-utest-c.elc GEN lisp/cedet/semantic-utest-c.log ELC lisp/cedet/semantic-utest-ia.elc GEN lisp/cedet/semantic-utest-ia.log ELC lisp/cedet/semantic-utest.elc GEN lisp/cedet/semantic-utest.log ELC lisp/cedet/semantic/bovine/gcc-tests.elc GEN lisp/cedet/semantic/bovine/gcc-tests.log ELC lisp/cedet/semantic/format-tests.elc GEN lisp/cedet/semantic/format-tests.log ELC lisp/cedet/semantic/fw-tests.elc GEN lisp/cedet/semantic/fw-tests.log ELC lisp/cedet/srecode-utest-getset.elc GEN lisp/cedet/srecode-utest-getset.log ELC lisp/cedet/srecode-utest-template.elc GEN lisp/cedet/srecode-utest-template.log ELC lisp/cedet/srecode/document-tests.elc GEN lisp/cedet/srecode/document-tests.log ELC lisp/cedet/srecode/fields-tests.elc GEN lisp/cedet/srecode/fields-tests.log ELC lisp/char-fold-tests.elc GEN lisp/char-fold-tests.log ELC lisp/color-tests.elc GEN lisp/color-tests.log ELC lisp/comint-tests.elc GEN lisp/comint-tests.log ELC lisp/completion-tests.elc GEN lisp/completion-tests.log ELC lisp/cus-edit-tests.elc GEN lisp/cus-edit-tests.log ELC lisp/custom-tests.elc GEN lisp/custom-tests.log ELC lisp/dabbrev-tests.elc GEN lisp/dabbrev-tests.log ELC lisp/delim-col-tests.elc GEN lisp/delim-col-tests.log ELC lisp/descr-text-tests.elc GEN lisp/descr-text-tests.log ELC lisp/desktop-tests.elc GEN lisp/desktop-tests.log ELC lisp/dired-aux-tests.elc GEN lisp/dired-aux-tests.log ELC lisp/dired-tests.elc GEN lisp/dired-tests.log ELC lisp/dired-x-tests.elc GEN lisp/dired-x-tests.log ELC lisp/dnd-tests.elc GEN lisp/dnd-tests.log ELC lisp/dom-tests.elc GEN lisp/dom-tests.log ELC lisp/edmacro-tests.elc GEN lisp/edmacro-tests.log ELC lisp/electric-tests.elc GEN lisp/electric-tests.log ELC lisp/elide-head-tests.elc GEN lisp/elide-head-tests.log ELC lisp/emacs-lisp/backquote-tests.elc GEN lisp/emacs-lisp/backquote-tests.log ELC lisp/emacs-lisp/backtrace-tests.elc GEN lisp/emacs-lisp/backtrace-tests.log ELC lisp/emacs-lisp/benchmark-tests.elc GEN lisp/emacs-lisp/benchmark-tests.log ELC lisp/emacs-lisp/bindat-tests.elc GEN lisp/emacs-lisp/bindat-tests.log ELC lisp/emacs-lisp/bytecomp-tests.elc GEN lisp/emacs-lisp/bytecomp-tests.log ELC lisp/emacs-lisp/cconv-tests.elc GEN lisp/emacs-lisp/cconv-tests.log ELC lisp/emacs-lisp/check-declare-tests.elc GEN lisp/emacs-lisp/check-declare-tests.log ELC lisp/emacs-lisp/checkdoc-tests.elc GEN lisp/emacs-lisp/checkdoc-tests.log ELC lisp/emacs-lisp/cl-extra-tests.elc GEN lisp/emacs-lisp/cl-extra-tests.log ELC lisp/emacs-lisp/cl-generic-tests.elc GEN lisp/emacs-lisp/cl-generic-tests.log ELC lisp/emacs-lisp/cl-lib-tests.elc GEN lisp/emacs-lisp/cl-lib-tests.log ELC lisp/emacs-lisp/cl-macs-tests.elc GEN lisp/emacs-lisp/cl-macs-tests.log ELC lisp/emacs-lisp/cl-preloaded-tests.elc GEN lisp/emacs-lisp/cl-preloaded-tests.log ELC lisp/emacs-lisp/cl-print-tests.elc GEN lisp/emacs-lisp/cl-print-tests.log ELC lisp/emacs-lisp/cl-seq-tests.elc GEN lisp/emacs-lisp/cl-seq-tests.log ELC lisp/emacs-lisp/comp-cstr-tests.elc GEN lisp/emacs-lisp/comp-cstr-tests.log ELC lisp/emacs-lisp/comp-tests.elc GEN lisp/emacs-lisp/comp-tests.log ELC lisp/emacs-lisp/copyright-tests.elc GEN lisp/emacs-lisp/copyright-tests.log ELC lisp/emacs-lisp/derived-tests.elc GEN lisp/emacs-lisp/derived-tests.log ELC lisp/emacs-lisp/easy-mmode-tests.elc GEN lisp/emacs-lisp/easy-mmode-tests.log ELC lisp/emacs-lisp/edebug-tests.elc GEN lisp/emacs-lisp/edebug-tests.log ELC lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.elc GEN lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.log ELC lisp/emacs-lisp/eieio-tests/eieio-test-persist.elc GEN lisp/emacs-lisp/eieio-tests/eieio-test-persist.log ELC lisp/emacs-lisp/eieio-tests/eieio-tests.elc GEN lisp/emacs-lisp/eieio-tests/eieio-tests.log ELC lisp/emacs-lisp/ert-tests.elc GEN lisp/emacs-lisp/ert-tests.log ELC lisp/emacs-lisp/ert-x-tests.elc GEN lisp/emacs-lisp/ert-x-tests.log ELC lisp/emacs-lisp/faceup-tests/faceup-test-basics.elc GEN lisp/emacs-lisp/faceup-tests/faceup-test-basics.log ELC lisp/emacs-lisp/faceup-tests/faceup-test-files.elc GEN lisp/emacs-lisp/faceup-tests/faceup-test-files.log ELC lisp/emacs-lisp/find-func-tests.elc GEN lisp/emacs-lisp/find-func-tests.log ELC lisp/emacs-lisp/float-sup-tests.elc GEN lisp/emacs-lisp/float-sup-tests.log ELC lisp/emacs-lisp/generator-tests.elc GEN lisp/emacs-lisp/generator-tests.log ELC lisp/emacs-lisp/gv-tests.elc GEN lisp/emacs-lisp/gv-tests.log ELC lisp/emacs-lisp/hierarchy-tests.elc GEN lisp/emacs-lisp/hierarchy-tests.log ELC lisp/emacs-lisp/icons-tests.elc GEN lisp/emacs-lisp/icons-tests.log ELC lisp/emacs-lisp/let-alist-tests.elc GEN lisp/emacs-lisp/let-alist-tests.log ELC lisp/emacs-lisp/lisp-mnt-tests.elc GEN lisp/emacs-lisp/lisp-mnt-tests.log ELC lisp/emacs-lisp/lisp-mode-tests.elc GEN lisp/emacs-lisp/lisp-mode-tests.log ELC lisp/emacs-lisp/lisp-tests.elc GEN lisp/emacs-lisp/lisp-tests.log ELC lisp/emacs-lisp/macroexp-tests.elc GEN lisp/emacs-lisp/macroexp-tests.log ELC lisp/emacs-lisp/map-tests.elc GEN lisp/emacs-lisp/map-tests.log ELC lisp/emacs-lisp/memory-report-tests.elc GEN lisp/emacs-lisp/memory-report-tests.log ELC lisp/emacs-lisp/multisession-tests.elc GEN lisp/emacs-lisp/multisession-tests.log ELC lisp/emacs-lisp/nadvice-tests.elc GEN lisp/emacs-lisp/nadvice-tests.log ELC lisp/emacs-lisp/oclosure-tests.elc GEN lisp/emacs-lisp/oclosure-tests.log ELC lisp/emacs-lisp/package-tests.elc GEN lisp/emacs-lisp/package-tests.log ELC lisp/emacs-lisp/pcase-tests.elc GEN lisp/emacs-lisp/pcase-tests.log ELC lisp/emacs-lisp/pp-tests.elc GEN lisp/emacs-lisp/pp-tests.log ELC lisp/emacs-lisp/range-tests.elc GEN lisp/emacs-lisp/range-tests.log ELC lisp/emacs-lisp/regexp-opt-tests.elc GEN lisp/emacs-lisp/regexp-opt-tests.log ELC lisp/emacs-lisp/ring-tests.elc GEN lisp/emacs-lisp/ring-tests.log ELC lisp/emacs-lisp/rmc-tests.elc GEN lisp/emacs-lisp/rmc-tests.log ELC lisp/emacs-lisp/rx-tests.elc GEN lisp/emacs-lisp/rx-tests.log ELC lisp/emacs-lisp/seq-tests.elc GEN lisp/emacs-lisp/seq-tests.log ELC lisp/emacs-lisp/shadow-tests.elc GEN lisp/emacs-lisp/shadow-tests.log ELC lisp/emacs-lisp/shortdoc-tests.elc GEN lisp/emacs-lisp/shortdoc-tests.log ELC lisp/emacs-lisp/subr-x-tests.elc GEN lisp/emacs-lisp/subr-x-tests.log ELC lisp/emacs-lisp/syntax-tests.elc GEN lisp/emacs-lisp/syntax-tests.log ELC lisp/emacs-lisp/tabulated-list-tests.elc GEN lisp/emacs-lisp/tabulated-list-tests.log ELC lisp/emacs-lisp/testcover-tests.elc GEN lisp/emacs-lisp/testcover-tests.log ELC lisp/emacs-lisp/text-property-search-tests.elc GEN lisp/emacs-lisp/text-property-search-tests.log ELC lisp/emacs-lisp/thunk-tests.elc GEN lisp/emacs-lisp/thunk-tests.log ELC lisp/emacs-lisp/timer-tests.elc GEN lisp/emacs-lisp/timer-tests.log ELC lisp/emacs-lisp/unsafep-tests.elc GEN lisp/emacs-lisp/unsafep-tests.log ELC lisp/emacs-lisp/vtable-tests.elc GEN lisp/emacs-lisp/vtable-tests.log ELC lisp/emacs-lisp/warnings-tests.elc GEN lisp/emacs-lisp/warnings-tests.log ELC lisp/emulation/viper-tests.elc GEN lisp/emulation/viper-tests.log ELC lisp/env-tests.elc GEN lisp/env-tests.log ELC lisp/epg-config-tests.elc GEN lisp/epg-config-tests.log ELC lisp/epg-tests.elc GEN lisp/epg-tests.log ELC lisp/erc/erc-button-tests.elc GEN lisp/erc/erc-button-tests.log ELC lisp/erc/erc-dcc-tests.elc GEN lisp/erc/erc-dcc-tests.log ELC lisp/erc/erc-fill-tests.elc GEN lisp/erc/erc-fill-tests.log ELC lisp/erc/erc-goodies-tests.elc GEN lisp/erc/erc-goodies-tests.log ELC lisp/erc/erc-join-tests.elc GEN lisp/erc/erc-join-tests.log ELC lisp/erc/erc-match-tests.elc GEN lisp/erc/erc-match-tests.log ELC lisp/erc/erc-networks-tests.elc GEN lisp/erc/erc-networks-tests.log ELC lisp/erc/erc-nicks-tests.elc GEN lisp/erc/erc-nicks-tests.log ELC lisp/erc/erc-sasl-tests.elc GEN lisp/erc/erc-sasl-tests.log ELC lisp/erc/erc-scenarios-auth-source.elc GEN lisp/erc/erc-scenarios-auth-source.log ELC lisp/erc/erc-scenarios-base-association-nick.elc GEN lisp/erc/erc-scenarios-base-association-nick.log ELC lisp/erc/erc-scenarios-base-association-query.elc GEN lisp/erc/erc-scenarios-base-association-query.log ELC lisp/erc/erc-scenarios-base-association-samenet.elc GEN lisp/erc/erc-scenarios-base-association-samenet.log ELC lisp/erc/erc-scenarios-base-association.elc GEN lisp/erc/erc-scenarios-base-association.log ELC lisp/erc/erc-scenarios-base-attach.elc GEN lisp/erc/erc-scenarios-base-attach.log ELC lisp/erc/erc-scenarios-base-auto-recon.elc GEN lisp/erc/erc-scenarios-base-auto-recon.log ELC lisp/erc/erc-scenarios-base-buffer-display.elc GEN lisp/erc/erc-scenarios-base-buffer-display.log ELC lisp/erc/erc-scenarios-base-compat-rename-bouncer.elc GEN lisp/erc/erc-scenarios-base-compat-rename-bouncer.log ELC lisp/erc/erc-scenarios-base-local-module-modes.elc GEN lisp/erc/erc-scenarios-base-local-module-modes.log ELC lisp/erc/erc-scenarios-base-local-modules.elc GEN lisp/erc/erc-scenarios-base-local-modules.log ELC lisp/erc/erc-scenarios-base-misc-regressions.elc GEN lisp/erc/erc-scenarios-base-misc-regressions.log ELC lisp/erc/erc-scenarios-base-netid-bouncer-id.elc GEN lisp/erc/erc-scenarios-base-netid-bouncer-id.log ELC lisp/erc/erc-scenarios-base-netid-bouncer-recon-base.elc GEN lisp/erc/erc-scenarios-base-netid-bouncer-recon-base.log ELC lisp/erc/erc-scenarios-base-netid-bouncer-recon-both.elc GEN lisp/erc/erc-scenarios-base-netid-bouncer-recon-both.log ELC lisp/erc/erc-scenarios-base-netid-bouncer-recon-id.elc GEN lisp/erc/erc-scenarios-base-netid-bouncer-recon-id.log ELC lisp/erc/erc-scenarios-base-netid-bouncer.elc GEN lisp/erc/erc-scenarios-base-netid-bouncer.log ELC lisp/erc/erc-scenarios-base-netid-samenet.elc GEN lisp/erc/erc-scenarios-base-netid-samenet.log ELC lisp/erc/erc-scenarios-base-reconnect.elc GEN lisp/erc/erc-scenarios-base-reconnect.log ELC lisp/erc/erc-scenarios-base-renick.elc GEN lisp/erc/erc-scenarios-base-renick.log ELC lisp/erc/erc-scenarios-base-reuse-buffers.elc GEN lisp/erc/erc-scenarios-base-reuse-buffers.log ELC lisp/erc/erc-scenarios-base-split-line.elc GEN lisp/erc/erc-scenarios-base-split-line.log ELC lisp/erc/erc-scenarios-base-unstable.elc GEN lisp/erc/erc-scenarios-base-unstable.log ELC lisp/erc/erc-scenarios-base-upstream-recon-soju.elc GEN lisp/erc/erc-scenarios-base-upstream-recon-soju.log ELC lisp/erc/erc-scenarios-base-upstream-recon-znc.elc GEN lisp/erc/erc-scenarios-base-upstream-recon-znc.log ELC lisp/erc/erc-scenarios-internal.elc GEN lisp/erc/erc-scenarios-internal.log ELC lisp/erc/erc-scenarios-join-auth-source.elc GEN lisp/erc/erc-scenarios-join-auth-source.log ELC lisp/erc/erc-scenarios-join-display-context.elc GEN lisp/erc/erc-scenarios-join-display-context.log ELC lisp/erc/erc-scenarios-join-netid-newcmd-id.elc GEN lisp/erc/erc-scenarios-join-netid-newcmd-id.log ELC lisp/erc/erc-scenarios-join-netid-newcmd.elc GEN lisp/erc/erc-scenarios-join-netid-newcmd.log ELC lisp/erc/erc-scenarios-join-netid-recon-id.elc GEN lisp/erc/erc-scenarios-join-netid-recon-id.log ELC lisp/erc/erc-scenarios-join-netid-recon.elc GEN lisp/erc/erc-scenarios-join-netid-recon.log ELC lisp/erc/erc-scenarios-log.elc GEN lisp/erc/erc-scenarios-log.log ELC lisp/erc/erc-scenarios-match.elc GEN lisp/erc/erc-scenarios-match.log ELC lisp/erc/erc-scenarios-misc.elc GEN lisp/erc/erc-scenarios-misc.log ELC lisp/erc/erc-scenarios-sasl.elc GEN lisp/erc/erc-scenarios-sasl.log ELC lisp/erc/erc-scenarios-services-misc.elc GEN lisp/erc/erc-scenarios-services-misc.log ELC lisp/erc/erc-scenarios-status-sidebar.elc GEN lisp/erc/erc-scenarios-status-sidebar.log ELC lisp/erc/erc-services-tests.elc GEN lisp/erc/erc-services-tests.log ELC lisp/erc/erc-stamp-tests.elc GEN lisp/erc/erc-stamp-tests.log ELC lisp/erc/erc-tests.elc GEN lisp/erc/erc-tests.log ELC lisp/erc/erc-track-tests.elc GEN lisp/erc/erc-track-tests.log ELC lisp/eshell/em-alias-tests.elc GEN lisp/eshell/em-alias-tests.log ELC lisp/eshell/em-basic-tests.elc GEN lisp/eshell/em-basic-tests.log ELC lisp/eshell/em-cmpl-tests.elc GEN lisp/eshell/em-cmpl-tests.log ELC lisp/eshell/em-dirs-tests.elc GEN lisp/eshell/em-dirs-tests.log ELC lisp/eshell/em-extpipe-tests.elc GEN lisp/eshell/em-extpipe-tests.log ELC lisp/eshell/em-glob-tests.elc GEN lisp/eshell/em-glob-tests.log ELC lisp/eshell/em-hist-tests.elc GEN lisp/eshell/em-hist-tests.log ELC lisp/eshell/em-ls-tests.elc GEN lisp/eshell/em-ls-tests.log ELC lisp/eshell/em-pred-tests.elc GEN lisp/eshell/em-pred-tests.log ELC lisp/eshell/em-prompt-tests.elc GEN lisp/eshell/em-prompt-tests.log ELC lisp/eshell/em-script-tests.elc GEN lisp/eshell/em-script-tests.log ELC lisp/eshell/em-tramp-tests.elc GEN lisp/eshell/em-tramp-tests.log ELC lisp/eshell/em-unix-tests.elc GEN lisp/eshell/em-unix-tests.log ELC lisp/eshell/esh-arg-tests.elc GEN lisp/eshell/esh-arg-tests.log ELC lisp/eshell/esh-cmd-tests.elc GEN lisp/eshell/esh-cmd-tests.log Running 39 tests (2023-08-27 14:34:17+0000, selector `(not (or (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/39 esh-cmd-test/and-operator (0.397118 sec) passed 2/39 esh-cmd-test/backquoted-lisp-form (0.001819 sec) passed 3/39 esh-cmd-test/backquoted-lisp-form/splice (0.001561 sec) passed 4/39 esh-cmd-test/for-loop (0.030152 sec) passed 5/39 esh-cmd-test/for-loop-for-items-shadow (0.003056 sec) passed 6/39 esh-cmd-test/for-loop-list (0.020209 sec) passed 7/39 esh-cmd-test/for-loop-multiple-args (0.008196 sec) passed 8/39 esh-cmd-test/for-loop-name (0.010818 sec) passed 9/39 esh-cmd-test/for-loop-name-shadow (0.076429 sec) passed 10/39 esh-cmd-test/for-loop-pipe (0.125042 sec) passed 11/39 esh-cmd-test/if-else-statement (0.010664 sec) Test esh-cmd-test/if-else-statement-ext-cmd backtrace: signal(ert-test-failed (((should (eshell-command-result--equal comma ert-fail(((should (eshell-command-result--equal command (eshell-test (if (unwind-protect (setq value-7 (apply fn-5 args-6)) (setq form-de (let (form-description-9) (if (unwind-protect (setq value-7 (apply f (let ((value-7 'ert-form-evaluation-aborted-8)) (let (form-descripti (let* ((fn-5 #'eshell-command-result--equal) (args-6 (condition-case eshell-command-result-equal("if {[ foo = bar ]} {echo yes} {echo no} (closure (t) nil (let* ((fn-50 #'executable-find) (args-51 (conditio ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test ert-run-test(#s(ert-test :name esh-cmd-test/if-else-statement-ext-cm ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp)))) ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/eshell/esh-cmd-tests command-line() normal-top-level() Test esh-cmd-test/if-else-statement-ext-cmd condition: (ert-test-failed ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "if {[ foo = bar ]} {echo yes} {echo no}" "yes" "no") :value nil :explanation (nonequal-result (command "if {[ foo = bar ]} {echo yes} {echo no}") (result "yes") (expected "no")))) FAILED 12/39 esh-cmd-test/if-else-statement-ext-cmd (0.049696 sec) at lisp/eshell/esh-cmd-tests.el:297 passed 13/39 esh-cmd-test/if-else-statement-lisp-form (0.009988 sec) passed 14/39 esh-cmd-test/if-else-statement-lisp-form-2 (0.014108 sec) passed 15/39 esh-cmd-test/if-else-statement-pipe (0.219517 sec) passed 16/39 esh-cmd-test/if-statement (0.007824 sec) passed 17/39 esh-cmd-test/if-statement-pipe (0.235719 sec) passed 18/39 esh-cmd-test/let-rebinds-after-defer (0.125254 sec) passed 19/39 esh-cmd-test/lisp-command (0.005480 sec) passed 20/39 esh-cmd-test/lisp-command-args (0.001210 sec) passed 21/39 esh-cmd-test/lisp-command-with-quote (0.001037 sec) passed 22/39 esh-cmd-test/or-operator (0.242188 sec) passed 23/39 esh-cmd-test/quoted-lisp-form (0.001925 sec) passed 24/39 esh-cmd-test/simple-command-result (0.002457 sec) passed 25/39 esh-cmd-test/subcommand (0.002164 sec) passed 26/39 esh-cmd-test/subcommand-args (0.014710 sec) passed 27/39 esh-cmd-test/subcommand-lisp (0.005989 sec) passed 28/39 esh-cmd-test/subcommand-shadow-value (0.011741 sec) passed 29/39 esh-cmd-test/unless-else-statement (0.004525 sec) Test esh-cmd-test/unless-else-statement-ext-cmd backtrace: signal(ert-test-failed (((should (eshell-command-result--equal comma ert-fail(((should (eshell-command-result--equal command (eshell-test (if (unwind-protect (setq value-7 (apply fn-5 args-6)) (setq form-de (let (form-description-9) (if (unwind-protect (setq value-7 (apply f (let ((value-7 'ert-form-evaluation-aborted-8)) (let (form-descripti (let* ((fn-5 #'eshell-command-result--equal) (args-6 (condition-case eshell-command-result-equal("unless {[ foo = bar ]} {echo no} {echo (closure (t) nil (let* ((fn-65 #'executable-find) (args-66 (conditio ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test ert-run-test(#s(ert-test :name esh-cmd-test/unless-else-statement-ex ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp)))) ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/eshell/esh-cmd-tests command-line() normal-top-level() Test esh-cmd-test/unless-else-statement-ext-cmd condition: (ert-test-failed ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "unless {[ foo = bar ]} {echo no} {echo yes}" "yes" "no") :value nil :explanation (nonequal-result (command "unless {[ foo = bar ]} {echo no} {echo yes}") (result "yes") (expected "no")))) FAILED 30/39 esh-cmd-test/unless-else-statement-ext-cmd (0.093351 sec) at lisp/eshell/esh-cmd-tests.el:359 passed 31/39 esh-cmd-test/unless-else-statement-lisp-form (0.009784 sec) passed 32/39 esh-cmd-test/unless-statement (0.002823 sec) passed 33/39 esh-cmd-test/until-loop (0.006616 sec) passed 34/39 esh-cmd-test/until-loop-ext-cmd (0.128575 sec) passed 35/39 esh-cmd-test/until-loop-lisp-form (0.004216 sec) passed 36/39 esh-cmd-test/while-loop (0.015516 sec) passed 37/39 esh-cmd-test/while-loop-ext-cmd (0.165639 sec) passed 38/39 esh-cmd-test/while-loop-lisp-form (0.008785 sec) passed 39/39 esh-cmd-test/while-loop-pipe (0.119078 sec) Ran 39 tests, 37 results as expected, 2 unexpected (2023-08-27 14:34:20+0000, 3.216609 sec) 2 unexpected results: FAILED esh-cmd-test/if-else-statement-ext-cmd ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "if {[ foo = bar ]} {echo yes} {echo no}" "yes" "no") :value nil :explanation (nonequal-result (command "if {[ foo = bar ]} {echo yes} {echo no}") (result "yes") (expected "no"))) FAILED esh-cmd-test/unless-else-statement-ext-cmd ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "unless {[ foo = bar ]} {echo no} {echo yes}" "yes" "no") :value nil :explanation (nonequal-result (command "unless {[ foo = bar ]} {echo no} {echo yes}") (result "yes") (expected "no"))) make[3]: *** [Makefile:181: lisp/eshell/esh-cmd-tests.log] Error 1 ELC lisp/eshell/esh-ext-tests.elc GEN lisp/eshell/esh-ext-tests.log ELC lisp/eshell/esh-io-tests.elc GEN lisp/eshell/esh-io-tests.log ELC lisp/eshell/esh-opt-tests.elc GEN lisp/eshell/esh-opt-tests.log ELC lisp/eshell/esh-proc-tests.elc GEN lisp/eshell/esh-proc-tests.log Running 21 tests (2023-08-27 14:34:31+0000, selector `(not (or (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/21 esh-proc-test/exit-status/failure (0.255976 sec) passed 2/21 esh-proc-test/exit-status/success (0.113333 sec) passed 3/21 esh-proc-test/exit-status/with-stderr-pipe (0.125111 sec) skipped 4/21 esh-proc-test/kill-pipeline (0.000823 sec) passed 5/21 esh-proc-test/kill-pipeline-head (0.124686 sec) passed 6/21 esh-proc-test/kill-process/background-prompt (0.011148 sec) [sleep]+ Done (/bin/sleep 100) passed 7/21 esh-proc-test/kill-process/foreground-only (0.139146 sec) passed 8/21 esh-proc-test/output/stderr-to-buffer (0.129330 sec) passed 9/21 esh-proc-test/output/stdout-and-stderr-to-buffer (0.110731 sec) passed 10/21 esh-proc-test/output/stdout-to-buffer (0.133454 sec) passed 11/21 esh-proc-test/output/to-screen (0.117071 sec) passed 12/21 esh-proc-test/pipeline-connection-type/first (0.082200 sec) Test esh-proc-test/pipeline-connection-type/last aborted with non-local exit ABORTED 13/21 esh-proc-test/pipeline-connection-type/last (0.017950 sec) at lisp/eshell/esh-proc-tests.el:183 Aborted: Ran 21 tests, 11 results as expected, 0 unexpected, 1 skipped (2023-08-27 14:34:33+0000, 1.499785 sec) 1 skipped results: SKIPPED esh-proc-test/kill-pipeline ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil) Error: wrong-type-argument (ert-test-result nil) mapbacktrace(#f(compiled-function (evald func args flags) #)) debug-early-backtrace() debug-early(error (wrong-type-argument ert-test-result nil)) signal(wrong-type-argument (ert-test-result nil)) ert-write-junit-test-report(#s(ert--stats :selector (not (or (tag :unstable) (tag :nativecomp))) :tests [#s(ert-test :name esh-proc-test/exit-status/failure :documentation "Check that failed execution is properly recorded." :body (closure (t) nil (let* ((fn-67 #'executable-find) (args-68 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-67 #'signal) (list (car err) (cdr err))))))) (let ((value-69 'ert-form-evaluation-aborted-70)) (let (form-description-71) (if (condition-case nil (progn (unwind-protect (setq value-69 (apply fn-67 args-68)) (setq form-description-71 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-67 args-68)) (if (eql value-69 'ert-form-evaluation-aborted-70) nil (list :value value-69)) (if (eql value-69 'ert-form-evaluation-aborted-70) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-68)) nil))))) (ert--signal-should-execution form-description-71))) (error nil)) nil (ert-skip form-description-71))) value-69)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sh -c 'exit 1'") (eshell-wait-for-subprocess) (let* ((fn-72 #'=) (args-73 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-status 1)) (error (progn (setq fn-72 #'signal) (list (car err) (cdr err))))))) (let ((value-74 'ert-form-evaluation-aborted-75)) (let (form-description-76) (if (unwind-protect (setq value-74 (apply fn-72 args-73)) (setq form-description-76 (nconc (list '(should (= eshell-last-command-status 1))) (list :form (cons fn-72 args-73)) (if (eql value-74 'ert-form-evaluation-aborted-75) nil (list :value value-74)) (if (eql value-74 'ert-form-evaluation-aborted-75) nil (let* ((-explainer- (and t (ert--get-explainer '=)))) (if -explainer- (list :explanation (apply -explainer- args-73)) nil))))) (ert--signal-should-execution form-description-76)) nil (ert-fail form-description-76))) value-74)) (let* ((fn-77 #'eq) (args-78 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-result nil)) (error (progn (setq fn-77 #'signal) (list (car err) (cdr err))))))) (let ((value-79 'ert-form-evaluation-aborted-80)) (let (form-description-81) (if (unwind-protect (setq value-79 (apply fn-77 args-78)) (setq form-description-81 (nconc (list '(should (eq eshell-last-command-result nil))) (list :form (cons fn-77 args-78)) (if (eql value-79 'ert-form-evaluation-aborted-80) nil (list :value value-79)) (if (eql value-79 'ert-form-evaluation-aborted-80) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-78)) nil))))) (ert--signal-should-execution form-description-81)) nil (ert-fail form-description-81))) value-79))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.255976072) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/exit-status/success :documentation "Check that successful execution is properly recorded." :body (closure (t) nil (let* ((fn-52 #'executable-find) (args-53 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-52 #'signal) (list (car err) (cdr err))))))) (let ((value-54 'ert-form-evaluation-aborted-55)) (let (form-description-56) (if (condition-case nil (progn (unwind-protect (setq value-54 (apply fn-52 args-53)) (setq form-description-56 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-52 args-53)) (if (eql value-54 'ert-form-evaluation-aborted-55) nil (list :value value-54)) (if (eql value-54 'ert-form-evaluation-aborted-55) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-53)) nil))))) (ert--signal-should-execution form-description-56))) (error nil)) nil (ert-skip form-description-56))) value-54)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sh -c 'exit 0'") (eshell-wait-for-subprocess) (let* ((fn-57 #'=) (args-58 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-status 0)) (error (progn (setq fn-57 #'signal) (list (car err) (cdr err))))))) (let ((value-59 'ert-form-evaluation-aborted-60)) (let (form-description-61) (if (unwind-protect (setq value-59 (apply fn-57 args-58)) (setq form-description-61 (nconc (list '(should (= eshell-last-command-status 0))) (list :form (cons fn-57 args-58)) (if (eql value-59 'ert-form-evaluation-aborted-60) nil (list :value value-59)) (if (eql value-59 'ert-form-evaluation-aborted-60) nil (let* ((-explainer- (and t (ert--get-explainer '=)))) (if -explainer- (list :explanation (apply -explainer- args-58)) nil))))) (ert--signal-should-execution form-description-61)) nil (ert-fail form-description-61))) value-59)) (let* ((fn-62 #'eq) (args-63 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-result t)) (error (progn (setq fn-62 #'signal) (list (car err) (cdr err))))))) (let ((value-64 'ert-form-evaluation-aborted-65)) (let (form-description-66) (if (unwind-protect (setq value-64 (apply fn-62 args-63)) (setq form-description-66 (nconc (list '(should (eq eshell-last-command-result t))) (list :form (cons fn-62 args-63)) (if (eql value-64 'ert-form-evaluation-aborted-65) nil (list :value value-64)) (if (eql value-64 'ert-form-evaluation-aborted-65) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-63)) nil))))) (ert--signal-should-execution form-description-66)) nil (ert-fail form-description-66))) value-64))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 0)) :form (= 0 0) :value t) ((should (eq eshell-last-command-result t)) :form (eq t t) :value t)) :duration 0.113332953) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/exit-status/with-stderr-pipe :documentation "Check that failed execution is properly recorded even with a pipe process." :body (closure (t) nil (let* ((fn-82 #'executable-find) (args-83 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-82 #'signal) (list (car err) (cdr err))))))) (let ((value-84 'ert-form-evaluation-aborted-85)) (let (form-description-86) (if (condition-case nil (progn (unwind-protect (setq value-84 (apply fn-82 args-83)) (setq form-description-86 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-82 args-83)) (if (eql value-84 'ert-form-evaluation-aborted-85) nil (list :value value-84)) (if (eql value-84 'ert-form-evaluation-aborted-85) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-83)) nil))))) (ert--signal-should-execution form-description-86))) (error nil)) nil (ert-skip form-description-86))) value-84)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (format "sh -c 'exit 1' > #<%s>" bufname)) (eshell-wait-for-subprocess) (let* ((fn-87 #'=) (args-88 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-status 1)) (error (progn (setq fn-87 #'signal) (list (car err) (cdr err))))))) (let ((value-89 'ert-form-evaluation-aborted-90)) (let (form-description-91) (if (unwind-protect (setq value-89 (apply fn-87 args-88)) (setq form-description-91 (nconc (list '(should (= eshell-last-command-status 1))) (list :form (cons fn-87 args-88)) (if (eql value-89 'ert-form-evaluation-aborted-90) nil (list :value value-89)) (if (eql value-89 'ert-form-evaluation-aborted-90) nil (let* ((-explainer- (and t (ert--get-explainer '=)))) (if -explainer- (list :explanation (apply -explainer- args-88)) nil))))) (ert--signal-should-execution form-description-91)) nil (ert-fail form-description-91))) value-89)) (let* ((fn-92 #'eq) (args-93 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-result nil)) (error (progn (setq fn-92 #'signal) (list (car err) (cdr err))))))) (let ((value-94 'ert-form-evaluation-aborted-95)) (let (form-description-96) (if (unwind-protect (setq value-94 (apply fn-92 args-93)) (setq form-description-96 (nconc (list '(should (eq eshell-last-command-result nil))) (list :form (cons fn-92 args-93)) (if (eql value-94 'ert-form-evaluation-aborted-95) nil (list :value value-94)) (if (eql value-94 'ert-form-evaluation-aborted-95) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-93)) nil))))) (ert--signal-should-execution form-description-96)) nil (ert-fail form-description-96))) value-94))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.12511139) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-skipped :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :duration 0.000823301 :condition (ert-test-skipped ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :backtrace (#s(backtrace-frame :evald t :fun signal :args (ert-test-skipped (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil))) :flags nil :locals ((debugger-may-continue . t) (inhibit-redisplay) (inhibit-debugger . t) (inhibit-changing-match-data)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-skip :args (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun if :args ((condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args ((form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144) (form-description-146 (skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args (((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let* :args (((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) :flags nil :locals ((fn-142 . not) (args-143 "1")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert--run-test-internal :args (#s(ert--test-execution-info :test #2 :result #3 :exit-continuation #f(compiled-function () #) :next-debugger debug :ert-debug-on-error nil)) :flags nil :locals ((ert--infos) (debug-ignored-errors) (debug-on-quit . t) (backtrace-on-error-noninteractive) (debug-on-error . t) (debugger . #f(compiled-function (&rest args) #)) (lexical-binding . t)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-test :args (#2) :flags nil :locals ((ert--running-tests #2) (message-log-max . t) (ert--should-execution-observer . #f(compiled-function (form-description) #))) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-or-rerun-test :args (#0 #2 #f(compiled-function (event-type &rest event-args) #)) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests :args ((not (or (tag :unstable) (tag :nativecomp))) #f(compiled-function (event-type &rest event-args) #) nil) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch-and-exit :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun eval :args ((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :nativecomp)))) t) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line-1 :args (("-L" ":." "-l" "ert" "-l" "lisp/eshell/esh-proc-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (or (tag :unstable) (tag :nativecomp)))))")) :flags nil :locals ((command-line-args-left) (argi . "-eval")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun normal-top-level :args nil :flags nil :locals nil :buffer nil :pos nil)) :infos nil) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-pipeline-head :documentation "Test that killing the first process in a pipeline doesn't\nwrite the exit status to the pipe. See bug#54136." :body (closure (t) nil (let ((value-152 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-153) (if (condition-case nil (progn (unwind-protect (setq value-152 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-153 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-152)) (ert--signal-should-execution form-description-153))) (error nil)) nil (ert-skip form-description-153))) value-152) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do sleep 1; done' | " "sh -c 'while read NAME; do echo =${NAME}=; done'")) (let ((output-start (eshell-beginning-of-output))) (kill-process (eshell-head-process)) (eshell-wait-for-subprocess t) (let* ((fn-154 #'equal) (args-155 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-substring-no-properties output-start (eshell-end-of-output)) "")) (error (progn (setq fn-154 #'signal) (list (car err) (cdr err))))))) (let ((value-156 'ert-form-evaluation-aborted-157)) (let (form-description-158) (if (unwind-protect (setq value-156 (apply fn-154 args-155)) (setq form-description-158 (nconc (list '(should (equal (buffer-substring-no-properties output-start (eshell-end-of-output)) ""))) (list :form (cons fn-154 args-155)) (if (eql value-156 'ert-form-evaluation-aborted-157) nil (list :value value-156)) (if (eql value-156 'ert-form-evaluation-aborted-157) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-155)) nil))))) (ert--signal-should-execution form-description-158)) nil (ert-fail form-description-158))) value-156)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((should (equal (buffer-substring-no-properties output-start (eshell-end-of-output)) "")) :form (equal "" "") :value t :explanation nil)) :duration 0.12468589) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-process/background-prompt :documentation "Test that killing a background process doesn't emit a new\nprompt. See bug#54136." :body (closure (t) nil (let ((value-133 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-134) (if (condition-case nil (progn (unwind-protect (setq value-133 (and (executable-find "sh") (executable-find "sleep"))) (setq form-description-134 (list '(skip-unless (and (executable-find "sh") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "sleep")) :value value-133)) (ert--signal-should-execution form-description-134))) (error nil)) nil (ert-skip form-description-134))) value-133) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sh -c 'while true; do sleep 1; done' &") (kill-process (car (car eshell-process-list))) (eshell-wait-for-subprocess) (let* ((fn-135 #'eshell-match-output) (args-136 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")) (error (progn (setq fn-135 #'signal) (list (car err) (cdr err))))))) (let ((value-137 'ert-form-evaluation-aborted-138)) (let (form-description-139) (if (unwind-protect (setq value-137 (apply fn-135 args-136)) (setq form-description-139 (nconc (list '(should (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n"))) (list :form (cons fn-135 args-136)) (if (eql value-137 'ert-form-evaluation-aborted-138) nil (list :value value-137)) (if (eql value-137 'ert-form-evaluation-aborted-138) nil (let* ((-explainer- (and t (ert--get-explainer 'eshell-match-output)))) (if -explainer- (list :explanation (apply -explainer- args-136)) nil))))) (ert--signal-should-execution form-description-139)) nil (ert-fail form-description-139))) value-137))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "sleep")) :value "/bin/sleep") ((should (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")) :form (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n") :value 0 :explanation (mismatched-output (command "sh -c 'while true; do sleep 1; done' &\n") (output "[sh] 20225\n") (regexp "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")))) :duration 0.011147818) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-process/foreground-only :documentation "Test that `eshell-kill-process' only kills foreground processes." :body (closure (t) nil (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sleep 100 &") (eshell-insert-command "sleep 100") (let* ((fn-118 #'equal) (args-119 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (length eshell-process-list) 2)) (error (progn (setq fn-118 #'signal) (list (car err) (cdr err))))))) (let ((value-120 'ert-form-evaluation-aborted-121)) (let (form-description-122) (if (unwind-protect (setq value-120 (apply fn-118 args-119)) (setq form-description-122 (nconc (list '(should (equal (length eshell-process-list) 2))) (list :form (cons fn-118 args-119)) (if (eql value-120 'ert-form-evaluation-aborted-121) nil (list :value value-120)) (if (eql value-120 'ert-form-evaluation-aborted-121) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-119)) nil))))) (ert--signal-should-execution form-description-122)) nil (ert-fail form-description-122))) value-120)) (eshell-kill-process) (eshell-wait-for-subprocess) (let* ((fn-123 #'equal) (args-124 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (length eshell-process-list) 1)) (error (progn (setq fn-123 #'signal) (list (car err) (cdr err))))))) (let ((value-125 'ert-form-evaluation-aborted-126)) (let (form-description-127) (if (unwind-protect (setq value-125 (apply fn-123 args-124)) (setq form-description-127 (nconc (list '(should (equal (length eshell-process-list) 1))) (list :form (cons fn-123 args-124)) (if (eql value-125 'ert-form-evaluation-aborted-126) nil (list :value value-125)) (if (eql value-125 'ert-form-evaluation-aborted-126) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-124)) nil))))) (ert--signal-should-execution form-description-127)) nil (ert-fail form-description-127))) value-125)) (eshell-process-interact 'kill-process t) (eshell-wait-for-subprocess t) (let* ((fn-128 #'equal) (args-129 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (length eshell-process-list) 0)) (error (progn (setq fn-128 #'signal) (list (car err) (cdr err))))))) (let ((value-130 'ert-form-evaluation-aborted-131)) (let (form-description-132) (if (unwind-protect (setq value-130 (apply fn-128 args-129)) (setq form-description-132 (nconc (list '(should (equal (length eshell-process-list) 0))) (list :form (cons fn-128 args-129)) (if (eql value-130 'ert-form-evaluation-aborted-131) nil (list :value value-130)) (if (eql value-130 'ert-form-evaluation-aborted-131) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-129)) nil))))) (ert--signal-should-execution form-description-132)) nil (ert-fail form-description-132))) value-130))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "[sleep]+ Done (/bin/sleep 100)\n" :should-forms (((should (equal (length eshell-process-list) 2)) :form (equal 2 2) :value t :explanation nil) ((should (equal (length eshell-process-list) 1)) :form (equal 1 1) :value t :explanation nil) ((should (equal (length eshell-process-list) 0)) :form (equal 0 0) :value t :explanation nil)) :duration 0.139145891) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/stderr-to-buffer :documentation "Check that redirecting only stderr works." :body (closure (t) nil (let* ((fn-25 #'executable-find) (args-26 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-25 #'signal) (list (car err) (cdr err))))))) (let ((value-27 'ert-form-evaluation-aborted-28)) (let (form-description-29) (if (condition-case nil (progn (unwind-protect (setq value-27 (apply fn-25 args-26)) (setq form-description-29 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-25 args-26)) (if (eql value-27 'ert-form-evaluation-aborted-28) nil (list :value value-27)) (if (eql value-27 'ert-form-evaluation-aborted-28) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-26)) nil))))) (ert--signal-should-execution form-description-29))) (error nil)) nil (ert-skip form-description-29))) value-27)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "%s 2> #<%s>" esh-proc-test--output-cmd bufname) "stdout\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-30 #'equal) (args-31 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "stderr\n")) (error (progn (setq fn-30 #'signal) (list (car err) (cdr err))))))) (let ((value-32 'ert-form-evaluation-aborted-33)) (let (form-description-34) (if (unwind-protect (setq value-32 (apply fn-30 args-31)) (setq form-description-34 (nconc (list '(should (equal (buffer-string) "stderr\n"))) (list :form (cons fn-30 args-31)) (if (eql value-32 'ert-form-evaluation-aborted-33) nil (list :value value-32)) (if (eql value-32 'ert-form-evaluation-aborted-33) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-31)) nil))))) (ert--signal-should-execution form-description-34)) nil (ert-fail form-description-34))) value-32)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' 2> #\n") (output "stdout\n") (regexp "stdout\n"))) ((should (equal (buffer-string) "stderr\n")) :form (equal "stderr\n" "stderr\n") :value t :explanation nil)) :duration 0.129330153) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/stdout-and-stderr-to-buffer :documentation "Check that redirecting stdout and stderr works." :body (closure (t) nil (let* ((fn-35 #'executable-find) (args-36 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-35 #'signal) (list (car err) (cdr err))))))) (let ((value-37 'ert-form-evaluation-aborted-38)) (let (form-description-39) (if (condition-case nil (progn (unwind-protect (setq value-37 (apply fn-35 args-36)) (setq form-description-39 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-35 args-36)) (if (eql value-37 'ert-form-evaluation-aborted-38) nil (list :value value-37)) (if (eql value-37 'ert-form-evaluation-aborted-38) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-36)) nil))))) (ert--signal-should-execution form-description-39))) (error nil)) nil (ert-skip form-description-39))) value-37)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "%s &> #<%s>" esh-proc-test--output-cmd bufname) "\\`\\'")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-40 #'equal) (args-41 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "stdout\nstderr\n")) (error (progn (setq fn-40 #'signal) (list (car err) (cdr err))))))) (let ((value-42 'ert-form-evaluation-aborted-43)) (let (form-description-44) (if (unwind-protect (setq value-42 (apply fn-40 args-41)) (setq form-description-44 (nconc (list '(should (equal (buffer-string) "stdout\nstderr\n"))) (list :form (cons fn-40 args-41)) (if (eql value-42 'ert-form-evaluation-aborted-43) nil (list :value value-42)) (if (eql value-42 'ert-form-evaluation-aborted-43) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-41)) nil))))) (ert--signal-should-execution form-description-44)) nil (ert-fail form-description-44))) value-42)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "\\`\\'") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' &> #\n") (output "") (regexp "\\`\\'"))) ((should (equal (buffer-string) "stdout\nstderr\n")) :form (equal "stdout\nstderr\n" "stdout\nstderr\n") :value t :explanation nil)) :duration 0.110731251) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/stdout-to-buffer :documentation "Check that redirecting only stdout works." :body (closure (t) nil (let* ((fn-15 #'executable-find) (args-16 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-15 #'signal) (list (car err) (cdr err))))))) (let ((value-17 'ert-form-evaluation-aborted-18)) (let (form-description-19) (if (condition-case nil (progn (unwind-protect (setq value-17 (apply fn-15 args-16)) (setq form-description-19 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-15 args-16)) (if (eql value-17 'ert-form-evaluation-aborted-18) nil (list :value value-17)) (if (eql value-17 'ert-form-evaluation-aborted-18) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-16)) nil))))) (ert--signal-should-execution form-description-19))) (error nil)) nil (ert-skip form-description-19))) value-17)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "%s > #<%s>" esh-proc-test--output-cmd bufname) "stderr\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-20 #'equal) (args-21 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "stdout\n")) (error (progn (setq fn-20 #'signal) (list (car err) (cdr err))))))) (let ((value-22 'ert-form-evaluation-aborted-23)) (let (form-description-24) (if (unwind-protect (setq value-22 (apply fn-20 args-21)) (setq form-description-24 (nconc (list '(should (equal (buffer-string) "stdout\n"))) (list :form (cons fn-20 args-21)) (if (eql value-22 'ert-form-evaluation-aborted-23) nil (list :value value-22)) (if (eql value-22 'ert-form-evaluation-aborted-23) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-21)) nil))))) (ert--signal-should-execution form-description-24)) nil (ert-fail form-description-24))) value-22)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' > #\n") (output "stderr\n") (regexp "stderr\n"))) ((should (equal (buffer-string) "stdout\n")) :form (equal "stdout\n" "stdout\n") :value t :explanation nil)) :duration 0.133453581) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/to-screen :documentation "Check that outputting stdout and stderr to the screen works." :body (closure (t) nil (let* ((fn-10 #'executable-find) (args-11 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-10 #'signal) (list (car err) (cdr err))))))) (let ((value-12 'ert-form-evaluation-aborted-13)) (let (form-description-14) (if (condition-case nil (progn (unwind-protect (setq value-12 (apply fn-10 args-11)) (setq form-description-14 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-10 args-11)) (if (eql value-12 'ert-form-evaluation-aborted-13) nil (list :value value-12)) (if (eql value-12 'ert-form-evaluation-aborted-13) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-11)) nil))))) (ert--signal-should-execution form-description-14))) (error nil)) nil (ert-skip form-description-14))) value-12)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output esh-proc-test--output-cmd "stdout\nstderr\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\nstderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2'\n") (output "stdout\nstderr\n") (regexp "stdout\nstderr\n")))) :duration 0.11707101) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/first :documentation "Test that only stdin is a PTY when a command starts a pipeline." :body (closure (t) nil (let ((value-109 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-110) (if (condition-case nil (progn (unwind-protect (setq value-109 (and (executable-find "sh") (executable-find "cat"))) (setq form-description-110 (list '(skip-unless (and (executable-find "sh") (executable-find "cat"))) :form '(and (executable-find "sh") (executable-find "cat")) :value value-109)) (ert--signal-should-execution form-description-110))) (error nil)) nil (ert-skip form-description-110))) value-109) (eshell-command-result-equal (concat esh-proc-test--detect-pty-cmd " | cat") (if (eq system-type 'windows-nt) nil "stdin\n")) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "cat"))) :form (and (executable-find "sh") (executable-find "cat")) :value "/bin/cat") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat" "stdin\n" "stdin\n") :value t :explanation (nonequal-result (command "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat") (result "stdin\n") (expected "stdin\n")))) :duration 0.082199955) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/last :documentation "Test that only output streams are PTYs when a command ends a pipeline." :body (closure (t) nil (let* ((fn-113 #'executable-find) (args-114 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-113 #'signal) (list (car err) (cdr err))))))) (let ((value-115 'ert-form-evaluation-aborted-116)) (let (form-description-117) (if (condition-case nil (progn (unwind-protect (setq value-115 (apply fn-113 args-114)) (setq form-description-117 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-113 args-114)) (if (eql value-115 'ert-form-evaluation-aborted-116) nil (list :value value-115)) (if (eql value-115 'ert-form-evaluation-aborted-116) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-114)) nil))))) (ert--signal-should-execution form-description-117))) (error nil)) nil (ert-skip form-description-117))) value-115)) (let ((debug-on-error nil)) (eshell-command-result-equal (concat "echo hi | " esh-proc-test--detect-pty-cmd) (if (eq system-type 'windows-nt) nil "stdout\nstderr\n"))) nil) :most-recent-result #s(ert-test-aborted-with-non-local-exit :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'" nil "stdout\nstderr\n") :value nil :explanation (nonequal-result (command "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'") (result nil) (expected "stdout\nstderr\n")))) :duration 0.017949867) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/middle :documentation "Test that all streams are pipes when a command is in the middle of a\npipeline." :body (closure (t) nil (let ((value-111 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-112) (if (condition-case nil (progn (unwind-protect (setq value-111 (and (executable-find "sh") (executable-find "cat"))) (setq form-description-112 (list '(skip-unless (and (executable-find "sh") (executable-find "cat"))) :form '(and (executable-find "sh") (executable-find "cat")) :value value-111)) (ert--signal-should-execution form-description-112))) (error nil)) nil (ert-skip form-description-112))) value-111) (let ((debug-on-error nil)) (eshell-command-result-equal (concat "echo hi | " esh-proc-test--detect-pty-cmd " | cat") nil)) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/no-pipeline :documentation "Test that all streams are PTYs when a command is not in a pipeline." :body (closure (t) nil (let* ((fn-104 #'executable-find) (args-105 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-104 #'signal) (list (car err) (cdr err))))))) (let ((value-106 'ert-form-evaluation-aborted-107)) (let (form-description-108) (if (condition-case nil (progn (unwind-protect (setq value-106 (apply fn-104 args-105)) (setq form-description-108 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-104 args-105)) (if (eql value-106 'ert-form-evaluation-aborted-107) nil (list :value value-106)) (if (eql value-106 'ert-form-evaluation-aborted-107) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-105)) nil))))) (ert--signal-should-execution form-description-108))) (error nil)) nil (ert-skip form-description-108))) value-106)) (eshell-command-result-equal esh-proc-test--detect-pty-cmd (if (eq system-type 'windows-nt) nil "stdin\nstdout\nstderr\n")) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/sigpipe-exits-process :documentation "Test that a SIGPIPE is properly sent to a process if a pipe closes" :body (closure (t) nil (let ((value-97 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-98) (if (condition-case nil (progn (unwind-protect (setq value-97 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-98 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-97)) (ert--signal-should-execution form-description-98))) (error nil)) nil (ert-skip form-description-98))) value-97) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (concat "sh -c 'while true; do echo y; sleep 1; done' |& " "sh -c 'read NAME; echo ${NAME}'") "y\n") (eshell-wait-for-subprocess t) (let* ((fn-99 #'eq) (args-100 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (process-list) nil)) (error (progn (setq fn-99 #'signal) (list (car err) (cdr err))))))) (let ((value-101 'ert-form-evaluation-aborted-102)) (let (form-description-103) (if (unwind-protect (setq value-101 (apply fn-99 args-100)) (setq form-description-103 (nconc (list '(should (eq (process-list) nil))) (list :form (cons fn-99 args-100)) (if (eql value-101 'ert-form-evaluation-aborted-102) nil (list :value value-101)) (if (eql value-101 'ert-form-evaluation-aborted-102) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-100)) nil))))) (ert--signal-should-execution form-description-103)) nil (ert-fail form-description-103))) value-101))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/pipeline/command-result :documentation "Test that synchronous pipelines work via `eshell-command-result'." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (eshell-command-result-equal (concat esh-proc-test/emacs-echo " | " esh-proc-test/emacs-upcase) "HELLO\n")) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/pipeline/interactive :documentation "Test that synchronous pipelines work in an interactive shell." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (concat esh-proc-test/emacs-echo " | " esh-proc-test/emacs-upcase) "\\`HELLO\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil)))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/simple/command-result :documentation "Test that synchronous processes work via `eshell-command-result'." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (eshell-command-result-equal esh-proc-test/emacs-echo "hello\n")) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/simple/interactive :documentation "Test that synchronous processes work in an interactive shell." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output esh-proc-test/emacs-echo "\\`hello\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil)))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-var-test/output/remote-redirect :documentation "Check that redirecting stdout for a remote process works." :body (closure (t) nil (let ((value-45 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-46) (if (condition-case nil (progn (unwind-protect (setq value-45 (and (eshell-tests-remote-accessible-p) (executable-find "echo"))) (setq form-description-46 (list '(skip-unless (and (eshell-tests-remote-accessible-p) (executable-find "echo"))) :form '(and (eshell-tests-remote-accessible-p) (executable-find "echo")) :value value-45)) (ert--signal-should-execution form-description-46))) (error nil)) nil (ert-skip form-description-46))) value-45) (let ((default-directory ert-remote-temporary-file-directory)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "*echo hello > #<%s>" bufname) "\\`\\'")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-47 #'equal) (args-48 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "hello\n")) (error (progn (setq fn-47 #'signal) (list (car err) (cdr err))))))) (let ((value-49 'ert-form-evaluation-aborted-50)) (let (form-description-51) (if (unwind-protect (setq value-49 (apply fn-47 args-48)) (setq form-description-51 (nconc (list '(should (equal (buffer-string) "hello\n"))) (list :form (cons fn-47 args-48)) (if (eql value-49 'ert-form-evaluation-aborted-50) nil (list :value value-49)) (if (eql value-49 'ert-form-evaluation-aborted-50) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-48)) nil))))) (ert--signal-should-execution form-description-51)) nil (ert-fail form-description-51))) value-49)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el")] :test-map # :test-results [#s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.255976072) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 0)) :form (= 0 0) :value t) ((should (eq eshell-last-command-result t)) :form (eq t t) :value t)) :duration 0.113332953) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.12511139) #s(ert-test-skipped :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :duration 0.000823301 :condition (ert-test-skipped ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :backtrace (#s(backtrace-frame :evald t :fun signal :args (ert-test-skipped (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil))) :flags nil :locals ((debugger-may-continue . t) (inhibit-redisplay) (inhibit-debugger . t) (inhibit-changing-match-data)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-skip :args (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun if :args ((condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args ((form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144) (form-description-146 (skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args (((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let* :args (((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) :flags nil :locals ((fn-142 . not) (args-143 "1")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert--run-test-internal :args (#s(ert--test-execution-info :test #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") :result #2 :exit-continuation #f(compiled-function () #) :next-debugger debug :ert-debug-on-error nil)) :flags nil :locals ((ert--infos) (debug-ignored-errors) (debug-on-quit . t) (backtrace-on-error-noninteractive) (debug-on-error . t) (debugger . #f(compiled-function (&rest args) #)) (lexical-binding . t)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-test :args (#s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el")) :flags nil :locals ((ert--running-tests #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el")) (message-log-max . t) (ert--should-execution-observer . #f(compiled-function (form-description) #))) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-or-rerun-test :args (#0 #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #f(compiled-function (event-type &rest event-args) #)) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests :args ((not (or (tag :unstable) (tag :nativecomp))) #f(compiled-function (event-type &rest event-args) #) nil) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch-and-exit :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun eval :args ((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :nativecomp)))) t) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line-1 :args (("-L" ":." "-l" "ert" "-l" "lisp/eshell/esh-proc-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (or (tag :unstable) (tag :nativecomp)))))")) :flags nil :locals ((command-line-args-left) (argi . "-eval")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun normal-top-level :args nil :flags nil :locals nil :buffer nil :pos nil)) :infos nil) #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((should (equal (buffer-substring-no-properties output-start (eshell-end-of-output)) "")) :form (equal "" "") :value t :explanation nil)) :duration 0.12468589) #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "sleep")) :value "/bin/sleep") ((should (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")) :form (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n") :value 0 :explanation (mismatched-output (command "sh -c 'while true; do sleep 1; done' &\n") (output "[sh] 20225\n") (regexp "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")))) :duration 0.011147818) #s(ert-test-passed :messages "[sleep]+ Done (/bin/sleep 100)\n" :should-forms (((should (equal (length eshell-process-list) 2)) :form (equal 2 2) :value t :explanation nil) ((should (equal (length eshell-process-list) 1)) :form (equal 1 1) :value t :explanation nil) ((should (equal (length eshell-process-list) 0)) :form (equal 0 0) :value t :explanation nil)) :duration 0.139145891) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' 2> #\n") (output "stdout\n") (regexp "stdout\n"))) ((should (equal (buffer-string) "stderr\n")) :form (equal "stderr\n" "stderr\n") :value t :explanation nil)) :duration 0.129330153) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "\\`\\'") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' &> #\n") (output "") (regexp "\\`\\'"))) ((should (equal (buffer-string) "stdout\nstderr\n")) :form (equal "stdout\nstderr\n" "stdout\nstderr\n") :value t :explanation nil)) :duration 0.110731251) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' > #\n") (output "stderr\n") (regexp "stderr\n"))) ((should (equal (buffer-string) "stdout\n")) :form (equal "stdout\n" "stdout\n") :value t :explanation nil)) :duration 0.133453581) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\nstderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2'\n") (output "stdout\nstderr\n") (regexp "stdout\nstderr\n")))) :duration 0.11707101) #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "cat"))) :form (and (executable-find "sh") (executable-find "cat")) :value "/bin/cat") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat" "stdin\n" "stdin\n") :value t :explanation (nonequal-result (command "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat") (result "stdin\n") (expected "stdin\n")))) :duration 0.082199955) #s(ert-test-aborted-with-non-local-exit :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'" nil "stdout\nstderr\n") :value nil :explanation (nonequal-result (command "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'") (result nil) (expected "stdout\nstderr\n")))) :duration 0.017949867) nil nil nil nil nil nil nil nil] :test-start-times [(25835 24311 603318 259000) (25835 24311 859480 481000) (25835 24311 973026 192000) (25835 24312 98329 706000) (25835 24312 99266 651000) (25835 24312 224207 522000) (25835 24312 235503 367000) (25835 24312 374798 709000) (25835 24312 504353 631000) (25835 24312 615391 514000) (25835 24312 749116 296000) (25835 24312 866400 655000) (25835 24312 948813 640000) nil nil nil nil nil nil nil nil] :test-end-times [(25835 24311 859294 331000) (25835 24311 972813 434000) (25835 24312 98137 582000) (25835 24312 99153 7000) (25835 24312 223952 541000) (25835 24312 235355 340000) (25835 24312 374649 258000) (25835 24312 504128 862000) (25835 24312 615084 882000) (25835 24312 748845 95000) (25835 24312 866187 306000) (25835 24312 948600 610000) (25835 24312 966763 507000) nil nil nil nil nil nil nil nil] :passed-expected 11 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 0 :skipped 1 :start-time (25835 24311 603066 948000) :end-time (25835 24313 102851 991000) :aborted-p t :current-test nil :next-redisplay 0.0)) #f(compiled-function (event-type &rest event-args) #)(run-ended #s(ert--stats :selector (not (or (tag :unstable) (tag :nativecomp))) :tests [#s(ert-test :name esh-proc-test/exit-status/failure :documentation "Check that failed execution is properly recorded." :body (closure (t) nil (let* ((fn-67 #'executable-find) (args-68 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-67 #'signal) (list (car err) (cdr err))))))) (let ((value-69 'ert-form-evaluation-aborted-70)) (let (form-description-71) (if (condition-case nil (progn (unwind-protect (setq value-69 (apply fn-67 args-68)) (setq form-description-71 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-67 args-68)) (if (eql value-69 'ert-form-evaluation-aborted-70) nil (list :value value-69)) (if (eql value-69 'ert-form-evaluation-aborted-70) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-68)) nil))))) (ert--signal-should-execution form-description-71))) (error nil)) nil (ert-skip form-description-71))) value-69)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sh -c 'exit 1'") (eshell-wait-for-subprocess) (let* ((fn-72 #'=) (args-73 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-status 1)) (error (progn (setq fn-72 #'signal) (list (car err) (cdr err))))))) (let ((value-74 'ert-form-evaluation-aborted-75)) (let (form-description-76) (if (unwind-protect (setq value-74 (apply fn-72 args-73)) (setq form-description-76 (nconc (list '(should (= eshell-last-command-status 1))) (list :form (cons fn-72 args-73)) (if (eql value-74 'ert-form-evaluation-aborted-75) nil (list :value value-74)) (if (eql value-74 'ert-form-evaluation-aborted-75) nil (let* ((-explainer- (and t (ert--get-explainer '=)))) (if -explainer- (list :explanation (apply -explainer- args-73)) nil))))) (ert--signal-should-execution form-description-76)) nil (ert-fail form-description-76))) value-74)) (let* ((fn-77 #'eq) (args-78 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-result nil)) (error (progn (setq fn-77 #'signal) (list (car err) (cdr err))))))) (let ((value-79 'ert-form-evaluation-aborted-80)) (let (form-description-81) (if (unwind-protect (setq value-79 (apply fn-77 args-78)) (setq form-description-81 (nconc (list '(should (eq eshell-last-command-result nil))) (list :form (cons fn-77 args-78)) (if (eql value-79 'ert-form-evaluation-aborted-80) nil (list :value value-79)) (if (eql value-79 'ert-form-evaluation-aborted-80) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-78)) nil))))) (ert--signal-should-execution form-description-81)) nil (ert-fail form-description-81))) value-79))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.255976072) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/exit-status/success :documentation "Check that successful execution is properly recorded." :body (closure (t) nil (let* ((fn-52 #'executable-find) (args-53 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-52 #'signal) (list (car err) (cdr err))))))) (let ((value-54 'ert-form-evaluation-aborted-55)) (let (form-description-56) (if (condition-case nil (progn (unwind-protect (setq value-54 (apply fn-52 args-53)) (setq form-description-56 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-52 args-53)) (if (eql value-54 'ert-form-evaluation-aborted-55) nil (list :value value-54)) (if (eql value-54 'ert-form-evaluation-aborted-55) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-53)) nil))))) (ert--signal-should-execution form-description-56))) (error nil)) nil (ert-skip form-description-56))) value-54)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sh -c 'exit 0'") (eshell-wait-for-subprocess) (let* ((fn-57 #'=) (args-58 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-status 0)) (error (progn (setq fn-57 #'signal) (list (car err) (cdr err))))))) (let ((value-59 'ert-form-evaluation-aborted-60)) (let (form-description-61) (if (unwind-protect (setq value-59 (apply fn-57 args-58)) (setq form-description-61 (nconc (list '(should (= eshell-last-command-status 0))) (list :form (cons fn-57 args-58)) (if (eql value-59 'ert-form-evaluation-aborted-60) nil (list :value value-59)) (if (eql value-59 'ert-form-evaluation-aborted-60) nil (let* ((-explainer- (and t (ert--get-explainer '=)))) (if -explainer- (list :explanation (apply -explainer- args-58)) nil))))) (ert--signal-should-execution form-description-61)) nil (ert-fail form-description-61))) value-59)) (let* ((fn-62 #'eq) (args-63 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-result t)) (error (progn (setq fn-62 #'signal) (list (car err) (cdr err))))))) (let ((value-64 'ert-form-evaluation-aborted-65)) (let (form-description-66) (if (unwind-protect (setq value-64 (apply fn-62 args-63)) (setq form-description-66 (nconc (list '(should (eq eshell-last-command-result t))) (list :form (cons fn-62 args-63)) (if (eql value-64 'ert-form-evaluation-aborted-65) nil (list :value value-64)) (if (eql value-64 'ert-form-evaluation-aborted-65) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-63)) nil))))) (ert--signal-should-execution form-description-66)) nil (ert-fail form-description-66))) value-64))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 0)) :form (= 0 0) :value t) ((should (eq eshell-last-command-result t)) :form (eq t t) :value t)) :duration 0.113332953) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/exit-status/with-stderr-pipe :documentation "Check that failed execution is properly recorded even with a pipe process." :body (closure (t) nil (let* ((fn-82 #'executable-find) (args-83 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-82 #'signal) (list (car err) (cdr err))))))) (let ((value-84 'ert-form-evaluation-aborted-85)) (let (form-description-86) (if (condition-case nil (progn (unwind-protect (setq value-84 (apply fn-82 args-83)) (setq form-description-86 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-82 args-83)) (if (eql value-84 'ert-form-evaluation-aborted-85) nil (list :value value-84)) (if (eql value-84 'ert-form-evaluation-aborted-85) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-83)) nil))))) (ert--signal-should-execution form-description-86))) (error nil)) nil (ert-skip form-description-86))) value-84)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (format "sh -c 'exit 1' > #<%s>" bufname)) (eshell-wait-for-subprocess) (let* ((fn-87 #'=) (args-88 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-status 1)) (error (progn (setq fn-87 #'signal) (list (car err) (cdr err))))))) (let ((value-89 'ert-form-evaluation-aborted-90)) (let (form-description-91) (if (unwind-protect (setq value-89 (apply fn-87 args-88)) (setq form-description-91 (nconc (list '(should (= eshell-last-command-status 1))) (list :form (cons fn-87 args-88)) (if (eql value-89 'ert-form-evaluation-aborted-90) nil (list :value value-89)) (if (eql value-89 'ert-form-evaluation-aborted-90) nil (let* ((-explainer- (and t (ert--get-explainer '=)))) (if -explainer- (list :explanation (apply -explainer- args-88)) nil))))) (ert--signal-should-execution form-description-91)) nil (ert-fail form-description-91))) value-89)) (let* ((fn-92 #'eq) (args-93 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-result nil)) (error (progn (setq fn-92 #'signal) (list (car err) (cdr err))))))) (let ((value-94 'ert-form-evaluation-aborted-95)) (let (form-description-96) (if (unwind-protect (setq value-94 (apply fn-92 args-93)) (setq form-description-96 (nconc (list '(should (eq eshell-last-command-result nil))) (list :form (cons fn-92 args-93)) (if (eql value-94 'ert-form-evaluation-aborted-95) nil (list :value value-94)) (if (eql value-94 'ert-form-evaluation-aborted-95) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-93)) nil))))) (ert--signal-should-execution form-description-96)) nil (ert-fail form-description-96))) value-94))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.12511139) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-skipped :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :duration 0.000823301 :condition (ert-test-skipped ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :backtrace (#s(backtrace-frame :evald t :fun signal :args (ert-test-skipped (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil))) :flags nil :locals ((debugger-may-continue . t) (inhibit-redisplay) (inhibit-debugger . t) (inhibit-changing-match-data)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-skip :args (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun if :args ((condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args ((form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144) (form-description-146 (skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args (((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let* :args (((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) :flags nil :locals ((fn-142 . not) (args-143 "1")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert--run-test-internal :args (#s(ert--test-execution-info :test #2 :result #3 :exit-continuation #f(compiled-function () #) :next-debugger debug :ert-debug-on-error nil)) :flags nil :locals ((ert--infos) (debug-ignored-errors) (debug-on-quit . t) (backtrace-on-error-noninteractive) (debug-on-error . t) (debugger . #f(compiled-function (&rest args) #)) (lexical-binding . t)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-test :args (#2) :flags nil :locals ((ert--running-tests #2) (message-log-max . t) (ert--should-execution-observer . #f(compiled-function (form-description) #))) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-or-rerun-test :args (#0 #2 #f(compiled-function (event-type &rest event-args) #)) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests :args ((not (or (tag :unstable) (tag :nativecomp))) #f(compiled-function (event-type &rest event-args) #) nil) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch-and-exit :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun eval :args ((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :nativecomp)))) t) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line-1 :args (("-L" ":." "-l" "ert" "-l" "lisp/eshell/esh-proc-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (or (tag :unstable) (tag :nativecomp)))))")) :flags nil :locals ((command-line-args-left) (argi . "-eval")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun normal-top-level :args nil :flags nil :locals nil :buffer nil :pos nil)) :infos nil) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-pipeline-head :documentation "Test that killing the first process in a pipeline doesn't\nwrite the exit status to the pipe. See bug#54136." :body (closure (t) nil (let ((value-152 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-153) (if (condition-case nil (progn (unwind-protect (setq value-152 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-153 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-152)) (ert--signal-should-execution form-description-153))) (error nil)) nil (ert-skip form-description-153))) value-152) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do sleep 1; done' | " "sh -c 'while read NAME; do echomake[3]: *** [Makefile:181: lisp/eshell/esh-proc-tests.log] Error 2 =${NAME}=; done'")) (let ((output-start (eshell-beginning-of-output))) (kill-process (eshell-head-process)) (eshell-wait-for-subprocess t) (let* ((fn-154 #'equal) (args-155 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-substring-no-properties output-start (eshell-end-of-output)) "")) (error (progn (setq fn-154 #'signal) (list (car err) (cdr err))))))) (let ((value-156 'ert-form-evaluation-aborted-157)) (let (form-description-158) (if (unwind-protect (setq value-156 (apply fn-154 args-155)) (setq form-description-158 (nconc (list '(should (equal (buffer-substring-no-properties output-start (eshell-end-of-output)) ""))) (list :form (cons fn-154 args-155)) (if (eql value-156 'ert-form-evaluation-aborted-157) nil (list :value value-156)) (if (eql value-156 'ert-form-evaluation-aborted-157) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-155)) nil))))) (ert--signal-should-execution form-description-158)) nil (ert-fail form-description-158))) value-156)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((should (equal (buffer-substring-no-properties output-start (eshell-end-of-output)) "")) :form (equal "" "") :value t :explanation nil)) :duration 0.12468589) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-process/background-prompt :documentation "Test that killing a background process doesn't emit a new\nprompt. See bug#54136." :body (closure (t) nil (let ((value-133 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-134) (if (condition-case nil (progn (unwind-protect (setq value-133 (and (executable-find "sh") (executable-find "sleep"))) (setq form-description-134 (list '(skip-unless (and (executable-find "sh") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "sleep")) :value value-133)) (ert--signal-should-execution form-description-134))) (error nil)) nil (ert-skip form-description-134))) value-133) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sh -c 'while true; do sleep 1; done' &") (kill-process (car (car eshell-process-list))) (eshell-wait-for-subprocess) (let* ((fn-135 #'eshell-match-output) (args-136 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")) (error (progn (setq fn-135 #'signal) (list (car err) (cdr err))))))) (let ((value-137 'ert-form-evaluation-aborted-138)) (let (form-description-139) (if (unwind-protect (setq value-137 (apply fn-135 args-136)) (setq form-description-139 (nconc (list '(should (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n"))) (list :form (cons fn-135 args-136)) (if (eql value-137 'ert-form-evaluation-aborted-138) nil (list :value value-137)) (if (eql value-137 'ert-form-evaluation-aborted-138) nil (let* ((-explainer- (and t (ert--get-explainer 'eshell-match-output)))) (if -explainer- (list :explanation (apply -explainer- args-136)) nil))))) (ert--signal-should-execution form-description-139)) nil (ert-fail form-description-139))) value-137))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "sleep")) :value "/bin/sleep") ((should (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")) :form (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n") :value 0 :explanation (mismatched-output (command "sh -c 'while true; do sleep 1; done' &\n") (output "[sh] 20225\n") (regexp "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")))) :duration 0.011147818) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-process/foreground-only :documentation "Test that `eshell-kill-process' only kills foreground processes." :body (closure (t) nil (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sleep 100 &") (eshell-insert-command "sleep 100") (let* ((fn-118 #'equal) (args-119 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (length eshell-process-list) 2)) (error (progn (setq fn-118 #'signal) (list (car err) (cdr err))))))) (let ((value-120 'ert-form-evaluation-aborted-121)) (let (form-description-122) (if (unwind-protect (setq value-120 (apply fn-118 args-119)) (setq form-description-122 (nconc (list '(should (equal (length eshell-process-list) 2))) (list :form (cons fn-118 args-119)) (if (eql value-120 'ert-form-evaluation-aborted-121) nil (list :value value-120)) (if (eql value-120 'ert-form-evaluation-aborted-121) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-119)) nil))))) (ert--signal-should-execution form-description-122)) nil (ert-fail form-description-122))) value-120)) (eshell-kill-process) (eshell-wait-for-subprocess) (let* ((fn-123 #'equal) (args-124 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (length eshell-process-list) 1)) (error (progn (setq fn-123 #'signal) (list (car err) (cdr err))))))) (let ((value-125 'ert-form-evaluation-aborted-126)) (let (form-description-127) (if (unwind-protect (setq value-125 (apply fn-123 args-124)) (setq form-description-127 (nconc (list '(should (equal (length eshell-process-list) 1))) (list :form (cons fn-123 args-124)) (if (eql value-125 'ert-form-evaluation-aborted-126) nil (list :value value-125)) (if (eql value-125 'ert-form-evaluation-aborted-126) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-124)) nil))))) (ert--signal-should-execution form-description-127)) nil (ert-fail form-description-127))) value-125)) (eshell-process-interact 'kill-process t) (eshell-wait-for-subprocess t) (let* ((fn-128 #'equal) (args-129 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (length eshell-process-list) 0)) (error (progn (setq fn-128 #'signal) (list (car err) (cdr err))))))) (let ((value-130 'ert-form-evaluation-aborted-131)) (let (form-description-132) (if (unwind-protect (setq value-130 (apply fn-128 args-129)) (setq form-description-132 (nconc (list '(should (equal (length eshell-process-list) 0))) (list :form (cons fn-128 args-129)) (if (eql value-130 'ert-form-evaluation-aborted-131) nil (list :value value-130)) (if (eql value-130 'ert-form-evaluation-aborted-131) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-129)) nil))))) (ert--signal-should-execution form-description-132)) nil (ert-fail form-description-132))) value-130))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "[sleep]+ Done (/bin/sleep 100)\n" :should-forms (((should (equal (length eshell-process-list) 2)) :form (equal 2 2) :value t :explanation nil) ((should (equal (length eshell-process-list) 1)) :form (equal 1 1) :value t :explanation nil) ((should (equal (length eshell-process-list) 0)) :form (equal 0 0) :value t :explanation nil)) :duration 0.139145891) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/stderr-to-buffer :documentation "Check that redirecting only stderr works." :body (closure (t) nil (let* ((fn-25 #'executable-find) (args-26 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-25 #'signal) (list (car err) (cdr err))))))) (let ((value-27 'ert-form-evaluation-aborted-28)) (let (form-description-29) (if (condition-case nil (progn (unwind-protect (setq value-27 (apply fn-25 args-26)) (setq form-description-29 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-25 args-26)) (if (eql value-27 'ert-form-evaluation-aborted-28) nil (list :value value-27)) (if (eql value-27 'ert-form-evaluation-aborted-28) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-26)) nil))))) (ert--signal-should-execution form-description-29))) (error nil)) nil (ert-skip form-description-29))) value-27)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "%s 2> #<%s>" esh-proc-test--output-cmd bufname) "stdout\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-30 #'equal) (args-31 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "stderr\n")) (error (progn (setq fn-30 #'signal) (list (car err) (cdr err))))))) (let ((value-32 'ert-form-evaluation-aborted-33)) (let (form-description-34) (if (unwind-protect (setq value-32 (apply fn-30 args-31)) (setq form-description-34 (nconc (list '(should (equal (buffer-string) "stderr\n"))) (list :form (cons fn-30 args-31)) (if (eql value-32 'ert-form-evaluation-aborted-33) nil (list :value value-32)) (if (eql value-32 'ert-form-evaluation-aborted-33) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-31)) nil))))) (ert--signal-should-execution form-description-34)) nil (ert-fail form-description-34))) value-32)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' 2> #\n") (output "stdout\n") (regexp "stdout\n"))) ((should (equal (buffer-string) "stderr\n")) :form (equal "stderr\n" "stderr\n") :value t :explanation nil)) :duration 0.129330153) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/stdout-and-stderr-to-buffer :documentation "Check that redirecting stdout and stderr works." :body (closure (t) nil (let* ((fn-35 #'executable-find) (args-36 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-35 #'signal) (list (car err) (cdr err))))))) (let ((value-37 'ert-form-evaluation-aborted-38)) (let (form-description-39) (if (condition-case nil (progn (unwind-protect (setq value-37 (apply fn-35 args-36)) (setq form-description-39 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-35 args-36)) (if (eql value-37 'ert-form-evaluation-aborted-38) nil (list :value value-37)) (if (eql value-37 'ert-form-evaluation-aborted-38) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-36)) nil))))) (ert--signal-should-execution form-description-39))) (error nil)) nil (ert-skip form-description-39))) value-37)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "%s &> #<%s>" esh-proc-test--output-cmd bufname) "\\`\\'")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-40 #'equal) (args-41 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "stdout\nstderr\n")) (error (progn (setq fn-40 #'signal) (list (car err) (cdr err))))))) (let ((value-42 'ert-form-evaluation-aborted-43)) (let (form-description-44) (if (unwind-protect (setq value-42 (apply fn-40 args-41)) (setq form-description-44 (nconc (list '(should (equal (buffer-string) "stdout\nstderr\n"))) (list :form (cons fn-40 args-41)) (if (eql value-42 'ert-form-evaluation-aborted-43) nil (list :value value-42)) (if (eql value-42 'ert-form-evaluation-aborted-43) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-41)) nil))))) (ert--signal-should-execution form-description-44)) nil (ert-fail form-description-44))) value-42)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "\\`\\'") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' &> #\n") (output "") (regexp "\\`\\'"))) ((should (equal (buffer-string) "stdout\nstderr\n")) :form (equal "stdout\nstderr\n" "stdout\nstderr\n") :value t :explanation nil)) :duration 0.110731251) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/stdout-to-buffer :documentation "Check that redirecting only stdout works." :body (closure (t) nil (let* ((fn-15 #'executable-find) (args-16 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-15 #'signal) (list (car err) (cdr err))))))) (let ((value-17 'ert-form-evaluation-aborted-18)) (let (form-description-19) (if (condition-case nil (progn (unwind-protect (setq value-17 (apply fn-15 args-16)) (setq form-description-19 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-15 args-16)) (if (eql value-17 'ert-form-evaluation-aborted-18) nil (list :value value-17)) (if (eql value-17 'ert-form-evaluation-aborted-18) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-16)) nil))))) (ert--signal-should-execution form-description-19))) (error nil)) nil (ert-skip form-description-19))) value-17)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "%s > #<%s>" esh-proc-test--output-cmd bufname) "stderr\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-20 #'equal) (args-21 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "stdout\n")) (error (progn (setq fn-20 #'signal) (list (car err) (cdr err))))))) (let ((value-22 'ert-form-evaluation-aborted-23)) (let (form-description-24) (if (unwind-protect (setq value-22 (apply fn-20 args-21)) (setq form-description-24 (nconc (list '(should (equal (buffer-string) "stdout\n"))) (list :form (cons fn-20 args-21)) (if (eql value-22 'ert-form-evaluation-aborted-23) nil (list :value value-22)) (if (eql value-22 'ert-form-evaluation-aborted-23) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-21)) nil))))) (ert--signal-should-execution form-description-24)) nil (ert-fail form-description-24))) value-22)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' > #\n") (output "stderr\n") (regexp "stderr\n"))) ((should (equal (buffer-string) "stdout\n")) :form (equal "stdout\n" "stdout\n") :value t :explanation nil)) :duration 0.133453581) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/to-screen :documentation "Check that outputting stdout and stderr to the screen works." :body (closure (t) nil (let* ((fn-10 #'executable-find) (args-11 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-10 #'signal) (list (car err) (cdr err))))))) (let ((value-12 'ert-form-evaluation-aborted-13)) (let (form-description-14) (if (condition-case nil (progn (unwind-protect (setq value-12 (apply fn-10 args-11)) (setq form-description-14 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-10 args-11)) (if (eql value-12 'ert-form-evaluation-aborted-13) nil (list :value value-12)) (if (eql value-12 'ert-form-evaluation-aborted-13) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-11)) nil))))) (ert--signal-should-execution form-description-14))) (error nil)) nil (ert-skip form-description-14))) value-12)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output esh-proc-test--output-cmd "stdout\nstderr\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\nstderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2'\n") (output "stdout\nstderr\n") (regexp "stdout\nstderr\n")))) :duration 0.11707101) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/first :documentation "Test that only stdin is a PTY when a command starts a pipeline." :body (closure (t) nil (let ((value-109 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-110) (if (condition-case nil (progn (unwind-protect (setq value-109 (and (executable-find "sh") (executable-find "cat"))) (setq form-description-110 (list '(skip-unless (and (executable-find "sh") (executable-find "cat"))) :form '(and (executable-find "sh") (executable-find "cat")) :value value-109)) (ert--signal-should-execution form-description-110))) (error nil)) nil (ert-skip form-description-110))) value-109) (eshell-command-result-equal (concat esh-proc-test--detect-pty-cmd " | cat") (if (eq system-type 'windows-nt) nil "stdin\n")) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "cat"))) :form (and (executable-find "sh") (executable-find "cat")) :value "/bin/cat") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat" "stdin\n" "stdin\n") :value t :explanation (nonequal-result (command "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat") (result "stdin\n") (expected "stdin\n")))) :duration 0.082199955) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/last :documentation "Test that only output streams are PTYs when a command ends a pipeline." :body (closure (t) nil (let* ((fn-113 #'executable-find) (args-114 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-113 #'signal) (list (car err) (cdr err))))))) (let ((value-115 'ert-form-evaluation-aborted-116)) (let (form-description-117) (if (condition-case nil (progn (unwind-protect (setq value-115 (apply fn-113 args-114)) (setq form-description-117 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-113 args-114)) (if (eql value-115 'ert-form-evaluation-aborted-116) nil (list :value value-115)) (if (eql value-115 'ert-form-evaluation-aborted-116) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-114)) nil))))) (ert--signal-should-execution form-description-117))) (error nil)) nil (ert-skip form-description-117))) value-115)) (let ((debug-on-error nil)) (eshell-command-result-equal (concat "echo hi | " esh-proc-test--detect-pty-cmd) (if (eq system-type 'windows-nt) nil "stdout\nstderr\n"))) nil) :most-recent-result #s(ert-test-aborted-with-non-local-exit :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'" nil "stdout\nstderr\n") :value nil :explanation (nonequal-result (command "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'") (result nil) (expected "stdout\nstderr\n")))) :duration 0.017949867) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/middle :documentation "Test that all streams are pipes when a command is in the middle of a\npipeline." :body (closure (t) nil (let ((value-111 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-112) (if (condition-case nil (progn (unwind-protect (setq value-111 (and (executable-find "sh") (executable-find "cat"))) (setq form-description-112 (list '(skip-unless (and (executable-find "sh") (executable-find "cat"))) :form '(and (executable-find "sh") (executable-find "cat")) :value value-111)) (ert--signal-should-execution form-description-112))) (error nil)) nil (ert-skip form-description-112))) value-111) (let ((debug-on-error nil)) (eshell-command-result-equal (concat "echo hi | " esh-proc-test--detect-pty-cmd " | cat") nil)) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/no-pipeline :documentation "Test that all streams are PTYs when a command is not in a pipeline." :body (closure (t) nil (let* ((fn-104 #'executable-find) (args-105 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-104 #'signal) (list (car err) (cdr err))))))) (let ((value-106 'ert-form-evaluation-aborted-107)) (let (form-description-108) (if (condition-case nil (progn (unwind-protect (setq value-106 (apply fn-104 args-105)) (setq form-description-108 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-104 args-105)) (if (eql value-106 'ert-form-evaluation-aborted-107) nil (list :value value-106)) (if (eql value-106 'ert-form-evaluation-aborted-107) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-105)) nil))))) (ert--signal-should-execution form-description-108))) (error nil)) nil (ert-skip form-description-108))) value-106)) (eshell-command-result-equal esh-proc-test--detect-pty-cmd (if (eq system-type 'windows-nt) nil "stdin\nstdout\nstderr\n")) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/sigpipe-exits-process :documentation "Test that a SIGPIPE is properly sent to a process if a pipe closes" :body (closure (t) nil (let ((value-97 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-98) (if (condition-case nil (progn (unwind-protect (setq value-97 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-98 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-97)) (ert--signal-should-execution form-description-98))) (error nil)) nil (ert-skip form-description-98))) value-97) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (concat "sh -c 'while true; do echo y; sleep 1; done' |& " "sh -c 'read NAME; echo ${NAME}'") "y\n") (eshell-wait-for-subprocess t) (let* ((fn-99 #'eq) (args-100 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (process-list) nil)) (error (progn (setq fn-99 #'signal) (list (car err) (cdr err))))))) (let ((value-101 'ert-form-evaluation-aborted-102)) (let (form-description-103) (if (unwind-protect (setq value-101 (apply fn-99 args-100)) (setq form-description-103 (nconc (list '(should (eq (process-list) nil))) (list :form (cons fn-99 args-100)) (if (eql value-101 'ert-form-evaluation-aborted-102) nil (list :value value-101)) (if (eql value-101 'ert-form-evaluation-aborted-102) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-100)) nil))))) (ert--signal-should-execution form-description-103)) nil (ert-fail form-description-103))) value-101))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/pipeline/command-result :documentation "Test that synchronous pipelines work via `eshell-command-result'." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (eshell-command-result-equal (concat esh-proc-test/emacs-echo " | " esh-proc-test/emacs-upcase) "HELLO\n")) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/pipeline/interactive :documentation "Test that synchronous pipelines work in an interactive shell." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (concat esh-proc-test/emacs-echo " | " esh-proc-test/emacs-upcase) "\\`HELLO\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil)))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/simple/command-result :documentation "Test that synchronous processes work via `eshell-command-result'." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (eshell-command-result-equal esh-proc-test/emacs-echo "hello\n")) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/simple/interactive :documentation "Test that synchronous processes work in an interactive shell." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output esh-proc-test/emacs-echo "\\`hello\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil)))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-var-test/output/remote-redirect :documentation "Check that redirecting stdout for a remote process works." :body (closure (t) nil (let ((value-45 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-46) (if (condition-case nil (progn (unwind-protect (setq value-45 (and (eshell-tests-remote-accessible-p) (executable-find "echo"))) (setq form-description-46 (list '(skip-unless (and (eshell-tests-remote-accessible-p) (executable-find "echo"))) :form '(and (eshell-tests-remote-accessible-p) (executable-find "echo")) :value value-45)) (ert--signal-should-execution form-description-46))) (error nil)) nil (ert-skip form-description-46))) value-45) (let ((default-directory ert-remote-temporary-file-directory)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "*echo hello > #<%s>" bufname) "\\`\\'")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-47 #'equal) (args-48 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "hello\n")) (error (progn (setq fn-47 #'signal) (list (car err) (cdr err))))))) (let ((value-49 'ert-form-evaluation-aborted-50)) (let (form-description-51) (if (unwind-protect (setq value-49 (apply fn-47 args-48)) (setq form-description-51 (nconc (list '(should (equal (buffer-string) "hello\n"))) (list :form (cons fn-47 args-48)) (if (eql value-49 'ert-form-evaluation-aborted-50) nil (list :value value-49)) (if (eql value-49 'ert-form-evaluation-aborted-50) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-48)) nil))))) (ert--signal-should-execution form-description-51)) nil (ert-fail form-description-51))) value-49)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el")] :test-map # :test-results [#s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.255976072) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 0)) :form (= 0 0) :value t) ((should (eq eshell-last-command-result t)) :form (eq t t) :value t)) :duration 0.113332953) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.12511139) #s(ert-test-skipped :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :duration 0.000823301 :condition (ert-test-skipped ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :backtrace (#s(backtrace-frame :evald t :fun signal :args (ert-test-skipped (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil))) :flags nil :locals ((debugger-may-continue . t) (inhibit-redisplay) (inhibit-debugger . t) (inhibit-changing-match-data)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-skip :args (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun if :args ((condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args ((form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144) (form-description-146 (skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args (((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let* :args (((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) :flags nil :locals ((fn-142 . not) (args-143 "1")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert--run-test-internal :args (#s(ert--test-execution-info :test #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") :result #2 :exit-continuation #f(compiled-function () #) :next-debugger debug :ert-debug-on-error nil)) :flags nil :locals ((ert--infos) (debug-ignored-errors) (debug-on-quit . t) (backtrace-on-error-noninteractive) (debug-on-error . t) (debugger . #f(compiled-function (&rest args) #)) (lexical-binding . t)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-test :args (#s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el")) :flags nil :locals ((ert--running-tests #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el")) (message-log-max . t) (ert--should-execution-observer . #f(compiled-function (form-description) #))) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-or-rerun-test :args (#0 #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #f(compiled-function (event-type &rest event-args) #)) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests :args ((not (or (tag :unstable) (tag :nativecomp))) #f(compiled-function (event-type &rest event-args) #) nil) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch-and-exit :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun eval :args ((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :nativecomp)))) t) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line-1 :args (("-L" ":." "-l" "ert" "-l" "lisp/eshell/esh-proc-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (or (tag :unstable) (tag :nativecomp)))))")) :flags nil :locals ((command-line-args-left) (argi . "-eval")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun normal-top-level :args nil :flags nil :locals nil :buffer nil :pos nil)) :infos nil) #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((should (equal (buffer-substring-no-properties output-start (eshell-end-of-output)) "")) :form (equal "" "") :value t :explanation nil)) :duration 0.12468589) #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "sleep")) :value "/bin/sleep") ((should (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")) :form (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n") :value 0 :explanation (mismatched-output (command "sh -c 'while true; do sleep 1; done' &\n") (output "[sh] 20225\n") (regexp "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")))) :duration 0.011147818) #s(ert-test-passed :messages "[sleep]+ Done (/bin/sleep 100)\n" :should-forms (((should (equal (length eshell-process-list) 2)) :form (equal 2 2) :value t :explanation nil) ((should (equal (length eshell-process-list) 1)) :form (equal 1 1) :value t :explanation nil) ((should (equal (length eshell-process-list) 0)) :form (equal 0 0) :value t :explanation nil)) :duration 0.139145891) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' 2> #\n") (output "stdout\n") (regexp "stdout\n"))) ((should (equal (buffer-string) "stderr\n")) :form (equal "stderr\n" "stderr\n") :value t :explanation nil)) :duration 0.129330153) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "\\`\\'") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' &> #\n") (output "") (regexp "\\`\\'"))) ((should (equal (buffer-string) "stdout\nstderr\n")) :form (equal "stdout\nstderr\n" "stdout\nstderr\n") :value t :explanation nil)) :duration 0.110731251) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' > #\n") (output "stderr\n") (regexp "stderr\n"))) ((should (equal (buffer-string) "stdout\n")) :form (equal "stdout\n" "stdout\n") :value t :explanation nil)) :duration 0.133453581) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\nstderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2'\n") (output "stdout\nstderr\n") (regexp "stdout\nstderr\n")))) :duration 0.11707101) #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "cat"))) :form (and (executable-find "sh") (executable-find "cat")) :value "/bin/cat") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat" "stdin\n" "stdin\n") :value t :explanation (nonequal-result (command "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat") (result "stdin\n") (expected "stdin\n")))) :duration 0.082199955) #s(ert-test-aborted-with-non-local-exit :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'" nil "stdout\nstderr\n") :value nil :explanation (nonequal-result (command "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'") (result nil) (expected "stdout\nstderr\n")))) :duration 0.017949867) nil nil nil nil nil nil nil nil] :test-start-times [(25835 24311 603318 259000) (25835 24311 859480 481000) (25835 24311 973026 192000) (25835 24312 98329 706000) (25835 24312 99266 651000) (25835 24312 224207 522000) (25835 24312 235503 367000) (25835 24312 374798 709000) (25835 24312 504353 631000) (25835 24312 615391 514000) (25835 24312 749116 296000) (25835 24312 866400 655000) (25835 24312 948813 640000) nil nil nil nil nil nil nil nil] :test-end-times [(25835 24311 859294 331000) (25835 24311 972813 434000) (25835 24312 98137 582000) (25835 24312 99153 7000) (25835 24312 223952 541000) (25835 24312 235355 340000) (25835 24312 374649 258000) (25835 24312 504128 862000) (25835 24312 615084 882000) (25835 24312 748845 95000) (25835 24312 866187 306000) (25835 24312 948600 610000) (25835 24312 966763 507000) nil nil nil nil nil nil nil nil] :passed-expected 11 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 0 :skipped 1 :start-time (25835 24311 603066 948000) :end-time (25835 24313 102851 991000) :aborted-p t :current-test nil :next-redisplay 0.0) t) #f(compile Error running tests d-function () #)() ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compiled-function (event-type &rest event-args) #) nil) ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp)))) ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativecomp)))) eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :nativecomp)))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/eshell/esh-proc-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (or (tag :unstable) (tag :nativecomp)))))")) command-line() normal-top-level() backtrace() #f(compiled-function () #)() ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativecomp)))) eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :nativecomp)))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/eshell/esh-proc-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (or (tag...")) command-line() normal-top-level() ELC lisp/eshell/esh-util-tests.elc GEN lisp/eshell/esh-util-tests.log ELC lisp/eshell/esh-var-tests.elc GEN lisp/eshell/esh-var-tests.log ELC lisp/eshell/eshell-tests-helpers.elc GEN lisp/eshell/eshell-tests-helpers.log ELC lisp/eshell/eshell-tests-unload.elc GEN lisp/eshell/eshell-tests-unload.log ELC lisp/eshell/eshell-tests.elc GEN lisp/eshell/eshell-tests.log make[3]: *** [Makefile:181: lisp/eshell/eshell-tests.log] Error 1 Running 18 tests (2023-08-27 14:34:47+0000, selector `(not (or (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/18 eshell-test/command-running-p (0.118235 sec) [echo]+ Done (/bin/echo hi) passed 2/18 eshell-test/eshell-command/background (0.114699 sec) [echo]+ Done (/bin/echo hi) [cat]+ Done (/bin/cat) passed 3/18 eshell-test/eshell-command/background-pipeline (0.125490 sec) passed 4/18 eshell-test/eshell-command/pipeline (0.080722 sec) Test eshell-test/eshell-command/simple backtrace: cl--assertion-failed((not (eshell-interactive-process-p))) eshell-command("*echo hi" t) (progn (eshell-command "*echo hi" t) (let* ((fn-36 #'equal) (args-37 (unwind-protect (progn (eshell-command "*echo hi" t) (let* ((fn-36 # (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current (let ((eshell-history-file-name nil)) (let ((temp-buffer (generate-n (progn (let ((eshell-history-file-name nil)) (let ((temp-buffer (gen (unwind-protect (progn (let ((eshell-history-file-name nil)) (let (( (let* ((coding-system-for-write nil) (temp-file (file-name-as-direct (closure (t) nil (let* ((fn-31 #'executable-find) (args-32 (conditio 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 ...) :tests [... ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compil ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp)))) ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativeco eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :n command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/eshell/eshell-tests. command-line() normal-top-level() Test eshell-test/eshell-command/simple condition: (cl-assertion-failed ((not (eshell-interactive-process-p)) nil)) FAILED 5/18 eshell-test/eshell-command/simple (0.012401 sec) at lisp/eshell/eshell-tests.el:110 passed 6/18 eshell-test/flush-output (0.002739 sec) passed 7/18 eshell-test/forward-arg (0.001857 sec) passed 8/18 eshell-test/get-old-input (0.002378 sec) passed 9/18 eshell-test/get-old-input/rerun-command (0.006811 sec) passed 10/18 eshell-test/get-old-input/run-output (0.002825 sec) passed 11/18 eshell-test/lisp-reset-in-pipeline (0.115776 sec) passed 12/18 eshell-test/pipe-headproc (0.118559 sec) passed 13/18 eshell-test/pipe-headproc-stdin (0.133180 sec) passed 14/18 eshell-test/pipe-subcommand (0.117392 sec) passed 15/18 eshell-test/pipe-subcommand-with-pipe (0.131668 sec) passed 16/18 eshell-test/pipe-tailproc (0.123816 sec) passed 17/18 eshell-test/queue-input (1.031173 sec) passed 18/18 eshell-test/subcommand-reset-in-pipeline (0.909682 sec) Ran 18 tests, 17 results as expected, 1 unexpected (2023-08-27 14:34:51+0000, 3.784735 sec) 1 unexpected results: FAILED eshell-test/eshell-command/simple ((not (eshell-interactive-process-p)) nil) ELC lisp/faces-tests.elc GEN lisp/faces-tests.log ELC lisp/ffap-tests.elc GEN lisp/ffap-tests.log ELC lisp/filenotify-tests.elc GEN lisp/filenotify-tests.log Running 18 tests (2023-08-27 14:34:58+0000, selector `(not (or (tag :unstable) (tag :nativecomp)))') Library: `inotify' passed 1/18 file-notify-test00-availability (0.025924 sec) Library: `inotifywait' passed 2/18 file-notify-test00-availability-remote (2.027573 sec) passed 3/18 file-notify-test01-add-watch (0.041308 sec) passed 4/18 file-notify-test01-add-watch-remote (2.018268 sec) passed 5/18 file-notify-test02-rm-watch (0.068814 sec) passed 6/18 file-notify-test02-rm-watch-remote (7.472898 sec) passed 7/18 file-notify-test04-autorevert (9.078662 sec) passed 8/18 file-notify-test05-file-validity (10.047488 sec) timeout: the monitored command dumped core ELC lisp/files-tests.elc GEN lisp/files-tests.log ELC lisp/files-x-tests.elc GEN lisp/files-x-tests.log ELC lisp/find-cmd-tests.elc GEN lisp/find-cmd-tests.log ELC lisp/font-lock-tests.elc GEN lisp/font-lock-tests.log ELC lisp/format-spec-tests.elc GEN lisp/format-spec-tests.log ELC lisp/gnus/gnus-group-tests.elc GEN lisp/gnus/gnus-group-tests.log ELC lisp/gnus/gnus-icalendar-tests.elc GEN lisp/gnus/gnus-icalendar-tests.log ELC lisp/gnus/gnus-search-tests.elc GEN lisp/gnus/gnus-search-tests.log ELC lisp/gnus/gnus-test-headers.elc GEN lisp/gnus/gnus-test-headers.log ELC lisp/gnus/gnus-tests.elc GEN lisp/gnus/gnus-tests.log ELC lisp/gnus/gnus-util-tests.elc GEN lisp/gnus/gnus-util-tests.log ELC lisp/gnus/message-tests.elc GEN lisp/gnus/message-tests.log ELC lisp/gnus/mm-decode-tests.elc GEN lisp/gnus/mm-decode-tests.log ELC lisp/gnus/mml-sec-tests.elc GEN lisp/gnus/mml-sec-tests.log ELC lisp/gnus/nnrss-tests.elc GEN lisp/gnus/nnrss-tests.log ELC lisp/help-fns-tests.elc GEN lisp/help-fns-tests.log ELC lisp/help-mode-tests.elc GEN lisp/help-mode-tests.log ELC lisp/help-tests.elc GEN lisp/help-tests.log ELC lisp/hfy-cmap-tests.elc GEN lisp/hfy-cmap-tests.log ELC lisp/hi-lock-tests.elc GEN lisp/hi-lock-tests.log ELC lisp/hl-line-tests.elc GEN lisp/hl-line-tests.log ELC lisp/htmlfontify-tests.elc GEN lisp/htmlfontify-tests.log ELC lisp/ibuffer-tests.elc GEN lisp/ibuffer-tests.log ELC lisp/ido-tests.elc GEN lisp/ido-tests.log ELC lisp/image-file-tests.elc GEN lisp/image-file-tests.log ELC lisp/image-tests.elc GEN lisp/image-tests.log ELC lisp/image/exif-tests.elc GEN lisp/image/exif-tests.log ELC lisp/image/gravatar-tests.elc GEN lisp/image/gravatar-tests.log ELC lisp/image/image-dired-tests.elc GEN lisp/image/image-dired-tests.log ELC lisp/image/image-dired-util-tests.elc GEN lisp/image/image-dired-util-tests.log ELC lisp/image/wallpaper-tests.elc GEN lisp/image/wallpaper-tests.log ELC lisp/imenu-tests.elc GEN lisp/imenu-tests.log ELC lisp/info-tests.elc GEN lisp/info-tests.log ELC lisp/info-xref-tests.elc GEN lisp/info-xref-tests.log ELC lisp/international/ccl-tests.elc GEN lisp/international/ccl-tests.log ELC lisp/international/mule-tests.elc GEN lisp/international/mule-tests.log ELC lisp/international/mule-util-tests.elc GEN lisp/international/mule-util-tests.log ELC lisp/international/textsec-tests.elc GEN lisp/international/textsec-tests.log ELC lisp/international/ucs-normalize-tests.elc GEN lisp/international/ucs-normalize-tests.log ELC lisp/isearch-tests.elc GEN lisp/isearch-tests.log ELC lisp/jit-lock-tests.elc GEN lisp/jit-lock-tests.log ELC lisp/json-tests.elc GEN lisp/json-tests.log ELC lisp/jsonrpc-tests.elc GEN lisp/jsonrpc-tests.log ELC lisp/kmacro-tests.elc GEN lisp/kmacro-tests.log ELC lisp/loadhist-tests.elc GEN lisp/loadhist-tests.log ELC lisp/lpr-tests.elc GEN lisp/lpr-tests.log ELC lisp/ls-lisp-tests.elc GEN lisp/ls-lisp-tests.log ELC lisp/mail/flow-fill-tests.elc GEN lisp/mail/flow-fill-tests.log ELC lisp/mail/footnote-tests.elc GEN lisp/mail/footnote-tests.log ELC lisp/mail/ietf-drums-date-tests.elc GEN lisp/mail/ietf-drums-date-tests.log ELC lisp/mail/ietf-drums-tests.elc GEN lisp/mail/ietf-drums-tests.log ELC lisp/mail/mail-extr-tests.elc GEN lisp/mail/mail-extr-tests.log ELC lisp/mail/mail-parse-tests.elc GEN lisp/mail/mail-parse-tests.log ELC lisp/mail/mail-utils-tests.elc GEN lisp/mail/mail-utils-tests.log ELC lisp/mail/qp-tests.elc GEN lisp/mail/qp-tests.log ELC lisp/mail/rfc2045-tests.elc GEN lisp/mail/rfc2045-tests.log ELC lisp/mail/rfc2047-tests.elc GEN lisp/mail/rfc2047-tests.log ELC lisp/mail/rfc6068-tests.elc GEN lisp/mail/rfc6068-tests.log ELC lisp/mail/rfc822-tests.elc GEN lisp/mail/rfc822-tests.log ELC lisp/mail/rmail-tests.elc GEN lisp/mail/rmail-tests.log ELC lisp/mail/rmailmm-tests.elc GEN lisp/mail/rmailmm-tests.log ELC lisp/mail/undigest-tests.elc GEN lisp/mail/undigest-tests.log ELC lisp/mail/uudecode-tests.elc GEN lisp/mail/uudecode-tests.log ELC lisp/man-tests.elc GEN lisp/man-tests.log ELC lisp/md4-tests.elc GEN lisp/md4-tests.log ELC lisp/mh-e/mh-limit-tests.elc GEN lisp/mh-e/mh-limit-tests.log ELC lisp/mh-e/mh-thread-tests.elc GEN lisp/mh-e/mh-thread-tests.log ELC lisp/mh-e/mh-utils-tests.elc GEN lisp/mh-e/mh-utils-tests.log ELC lisp/mh-e/mh-xface-tests.elc GEN lisp/mh-e/mh-xface-tests.log ELC lisp/minibuffer-tests.elc GEN lisp/minibuffer-tests.log ELC lisp/misc-tests.elc GEN lisp/misc-tests.log ELC lisp/mouse-tests.elc GEN lisp/mouse-tests.log ELC lisp/mwheel-tests.elc GEN lisp/mwheel-tests.log ELC lisp/net/browse-url-tests.elc GEN lisp/net/browse-url-tests.log ELC lisp/net/dbus-tests.elc GEN lisp/net/dbus-tests.log ELC lisp/net/dig-tests.elc GEN lisp/net/dig-tests.log ELC lisp/net/eudc-tests.elc GEN lisp/net/eudc-tests.log ELC lisp/net/gnutls-tests.elc GEN lisp/net/gnutls-tests.log ELC lisp/net/hmac-md5-tests.elc GEN lisp/net/hmac-md5-tests.log ELC lisp/net/mailcap-tests.elc GEN lisp/net/mailcap-tests.log ELC lisp/net/network-stream-tests.elc GEN lisp/net/network-stream-tests.log ELC lisp/net/newsticker-tests.elc GEN lisp/net/newsticker-tests.log ELC lisp/net/nsm-tests.elc GEN lisp/net/nsm-tests.log ELC lisp/net/ntlm-tests.elc GEN lisp/net/ntlm-tests.log ELC lisp/net/puny-tests.elc GEN lisp/net/puny-tests.log ELC lisp/net/rcirc-tests.elc GEN lisp/net/rcirc-tests.log ELC lisp/net/rfc2104-tests.elc GEN lisp/net/rfc2104-tests.log ELC lisp/net/sasl-cram-tests.elc GEN lisp/net/sasl-cram-tests.log ELC lisp/net/sasl-scram-rfc-tests.elc GEN lisp/net/sasl-scram-rfc-tests.log ELC lisp/net/sasl-tests.elc GEN lisp/net/sasl-tests.log ELC lisp/net/secrets-tests.elc GEN lisp/net/secrets-tests.log ELC lisp/net/shr-tests.elc GEN lisp/net/shr-tests.log ELC lisp/net/socks-tests.elc GEN lisp/net/socks-tests.log ELC lisp/net/tramp-archive-tests.elc GEN lisp/net/tramp-archive-tests.log ELC lisp/net/webjump-tests.elc GEN lisp/net/webjump-tests.log ELC lisp/newcomment-tests.elc GEN lisp/newcomment-tests.log ELC lisp/nxml/nxml-mode-tests.elc GEN lisp/nxml/nxml-mode-tests.log ELC lisp/nxml/xsd-regexp-tests.elc GEN lisp/nxml/xsd-regexp-tests.log ELC lisp/obarray-tests.elc GEN lisp/obarray-tests.log ELC lisp/obsolete/cl-tests.elc GEN lisp/obsolete/cl-tests.log ELC lisp/obsolete/inversion-tests.elc GEN lisp/obsolete/inversion-tests.log ELC lisp/obsolete/makesum-tests.elc GEN lisp/obsolete/makesum-tests.log ELC lisp/obsolete/rfc2368-tests.elc GEN lisp/obsolete/rfc2368-tests.log ELC lisp/obsolete/thumbs-tests.elc GEN lisp/obsolete/thumbs-tests.log ELC lisp/org/org-tests.elc GEN lisp/org/org-tests.log ELC lisp/paren-tests.elc GEN lisp/paren-tests.log ELC lisp/password-cache-tests.elc GEN lisp/password-cache-tests.log ELC lisp/pcmpl-linux-tests.elc GEN lisp/pcmpl-linux-tests.log ELC lisp/pcomplete-tests.elc GEN lisp/pcomplete-tests.log ELC lisp/play/animate-tests.elc GEN lisp/play/animate-tests.log ELC lisp/play/cookie1-tests.elc GEN lisp/play/cookie1-tests.log ELC lisp/play/dissociate-tests.elc GEN lisp/play/dissociate-tests.log ELC lisp/play/fortune-tests.elc GEN lisp/play/fortune-tests.log ELC lisp/play/life-tests.elc GEN lisp/play/life-tests.log ELC lisp/play/morse-tests.elc GEN lisp/play/morse-tests.log ELC lisp/play/studly-tests.elc GEN lisp/play/studly-tests.log ELC lisp/proced-tests.elc GEN lisp/proced-tests.log ELC lisp/progmodes/asm-mode-tests.elc GEN lisp/progmodes/asm-mode-tests.log ELC lisp/progmodes/autoconf-tests.elc GEN lisp/progmodes/autoconf-tests.log ELC lisp/progmodes/bat-mode-tests.elc GEN lisp/progmodes/bat-mode-tests.log ELC lisp/progmodes/bug-reference-tests.elc GEN lisp/progmodes/bug-reference-tests.log ELC lisp/progmodes/c-ts-mode-tests.elc GEN lisp/progmodes/c-ts-mode-tests.log ELC lisp/progmodes/cc-mode-tests.elc GEN lisp/progmodes/cc-mode-tests.log ELC lisp/progmodes/compile-tests.elc GEN lisp/progmodes/compile-tests.log ELC lisp/progmodes/cperl-mode-tests.elc GEN lisp/progmodes/cperl-mode-tests.log ELC lisp/progmodes/eglot-tests.elc Loading project... Loading eldoc... Loading seq... Loading flymake... Loading xref... Loading jsonrpc... Loading external-completion... GEN lisp/progmodes/eglot-tests.log ELC lisp/progmodes/elisp-mode-tests.elc GEN lisp/progmodes/elisp-mode-tests.log ELC lisp/progmodes/elixir-ts-mode-tests.elc GEN lisp/progmodes/elixir-ts-mode-tests.log ELC lisp/progmodes/etags-tests.elc GEN lisp/progmodes/etags-tests.log ELC lisp/progmodes/executable-tests.elc GEN lisp/progmodes/executable-tests.log ELC lisp/progmodes/f90-tests.elc GEN lisp/progmodes/f90-tests.log ELC lisp/progmodes/flymake-tests.elc GEN lisp/progmodes/flymake-tests.log ELC lisp/progmodes/gdb-mi-tests.elc GEN lisp/progmodes/gdb-mi-tests.log ELC lisp/progmodes/glasses-tests.elc GEN lisp/progmodes/glasses-tests.log ELC lisp/progmodes/go-ts-mode-tests.elc GEN lisp/progmodes/go-ts-mode-tests.log ELC lisp/progmodes/grep-tests.elc GEN lisp/progmodes/grep-tests.log ELC lisp/progmodes/heex-ts-mode-tests.elc GEN lisp/progmodes/heex-ts-mode-tests.log ELC lisp/progmodes/hideshow-tests.elc GEN lisp/progmodes/hideshow-tests.log ELC lisp/progmodes/java-ts-mode-tests.elc GEN lisp/progmodes/java-ts-mode-tests.log ELC lisp/progmodes/js-tests.elc GEN lisp/progmodes/js-tests.log ELC lisp/progmodes/octave-tests.elc GEN lisp/progmodes/octave-tests.log ELC lisp/progmodes/opascal-tests.elc GEN lisp/progmodes/opascal-tests.log ELC lisp/progmodes/pascal-tests.elc GEN lisp/progmodes/pascal-tests.log ELC lisp/progmodes/perl-mode-tests.elc GEN lisp/progmodes/perl-mode-tests.log ELC lisp/progmodes/project-tests.elc GEN lisp/progmodes/project-tests.log ELC lisp/progmodes/ps-mode-tests.elc GEN lisp/progmodes/ps-mode-tests.log ELC lisp/progmodes/python-tests.elc GEN lisp/progmodes/python-tests.log ELC lisp/progmodes/ruby-mode-tests.elc GEN lisp/progmodes/ruby-mode-tests.log ELC lisp/progmodes/ruby-ts-mode-tests.elc Warning (treesit): Cannot activate tree-sitter, because Emacs is not compiled with tree-sitter library GEN lisp/progmodes/ruby-ts-mode-tests.log ELC lisp/progmodes/scheme-tests.elc GEN lisp/progmodes/scheme-tests.log ELC lisp/progmodes/sh-script-tests.elc GEN lisp/progmodes/sh-script-tests.log ELC lisp/progmodes/sql-tests.elc GEN lisp/progmodes/sql-tests.log ELC lisp/progmodes/subword-tests.elc GEN lisp/progmodes/subword-tests.log ELC lisp/progmodes/tcl-tests.elc GEN lisp/progmodes/tcl-tests.log ELC lisp/progmodes/typescript-ts-mode-tests.elc GEN lisp/progmodes/typescript-ts-mode-tests.log ELC lisp/progmodes/xref-tests.elc GEN lisp/progmodes/xref-tests.log ELC lisp/ps-print-tests.elc GEN lisp/ps-print-tests.log ELC lisp/register-tests.elc GEN lisp/register-tests.log ELC lisp/repeat-tests.elc GEN lisp/repeat-tests.log ELC lisp/replace-tests.elc GEN lisp/replace-tests.log ELC lisp/rot13-tests.elc GEN lisp/rot13-tests.log ELC lisp/saveplace-tests.elc GEN lisp/saveplace-tests.log ELC lisp/scroll-lock-tests.elc GEN lisp/scroll-lock-tests.log ELC lisp/server-tests.elc GEN lisp/server-tests.log ELC lisp/ses-tests.elc GEN lisp/ses-tests.log ELC lisp/shadowfile-tests.elc GEN lisp/shadowfile-tests.log ELC lisp/shell-tests.elc GEN lisp/shell-tests.log ELC lisp/simple-tests.elc GEN lisp/simple-tests.log ELC lisp/so-long-tests/autoload-longlines-mode-tests.elc GEN lisp/so-long-tests/autoload-longlines-mode-tests.log ELC lisp/so-long-tests/autoload-major-mode-tests.elc GEN lisp/so-long-tests/autoload-major-mode-tests.log ELC lisp/so-long-tests/autoload-minor-mode-tests.elc GEN lisp/so-long-tests/autoload-minor-mode-tests.log ELC lisp/so-long-tests/so-long-tests-helpers.elc GEN lisp/so-long-tests/so-long-tests-helpers.log ELC lisp/so-long-tests/so-long-tests.elc GEN lisp/so-long-tests/so-long-tests.log ELC lisp/so-long-tests/spelling-tests.elc GEN lisp/so-long-tests/spelling-tests.log ELC lisp/sort-tests.elc GEN lisp/sort-tests.log ELC lisp/soundex-tests.elc GEN lisp/soundex-tests.log ELC lisp/startup-tests.elc GEN lisp/startup-tests.log ELC lisp/subr-tests.elc GEN lisp/subr-tests.log ELC lisp/tab-bar-tests.elc GEN lisp/tab-bar-tests.log ELC lisp/tabify-tests.elc GEN lisp/tabify-tests.log ELC lisp/tar-mode-tests.elc GEN lisp/tar-mode-tests.log ELC lisp/tempo-tests.elc GEN lisp/tempo-tests.log ELC lisp/term-tests.elc GEN lisp/term-tests.log ELC lisp/term/tty-colors-tests.elc GEN lisp/term/tty-colors-tests.log ELC lisp/textmodes/bibtex-tests.elc GEN lisp/textmodes/bibtex-tests.log ELC lisp/textmodes/conf-mode-tests.elc GEN lisp/textmodes/conf-mode-tests.log ELC lisp/textmodes/css-mode-tests.elc GEN lisp/textmodes/css-mode-tests.log ELC lisp/textmodes/dns-mode-tests.elc GEN lisp/textmodes/dns-mode-tests.log ELC lisp/textmodes/emacs-news-mode-tests.elc GEN lisp/textmodes/emacs-news-mode-tests.log ELC lisp/textmodes/fill-tests.elc GEN lisp/textmodes/fill-tests.log ELC lisp/textmodes/mhtml-mode-tests.elc GEN lisp/textmodes/mhtml-mode-tests.log ELC lisp/textmodes/page-tests.elc GEN lisp/textmodes/page-tests.log ELC lisp/textmodes/paragraphs-tests.elc GEN lisp/textmodes/paragraphs-tests.log ELC lisp/textmodes/po-tests.elc GEN lisp/textmodes/po-tests.log ELC lisp/textmodes/reftex-tests.elc GEN lisp/textmodes/reftex-tests.log ELC lisp/textmodes/sgml-mode-tests.elc GEN lisp/textmodes/sgml-mode-tests.log ELC lisp/textmodes/texinfo-tests.elc GEN lisp/textmodes/texinfo-tests.log ELC lisp/textmodes/tildify-tests.elc GEN lisp/textmodes/tildify-tests.log ELC lisp/textmodes/underline-tests.elc GEN lisp/textmodes/underline-tests.log ELC lisp/thingatpt-tests.elc GEN lisp/thingatpt-tests.log ELC lisp/thread-tests.elc GEN lisp/thread-tests.log ELC lisp/time-stamp-tests.elc GEN lisp/time-stamp-tests.log ELC lisp/time-tests.elc GEN lisp/time-tests.log ELC lisp/timezone-tests.elc GEN lisp/timezone-tests.log ELC lisp/uniquify-tests.elc GEN lisp/uniquify-tests.log ELC lisp/url/url-auth-tests.elc GEN lisp/url/url-auth-tests.log ELC lisp/url/url-domsuf-tests.elc GEN lisp/url/url-domsuf-tests.log ELC lisp/url/url-expand-tests.elc GEN lisp/url/url-expand-tests.log ELC lisp/url/url-file-tests.elc GEN lisp/url/url-file-tests.log ELC lisp/url/url-future-tests.elc GEN lisp/url/url-future-tests.log ELC lisp/url/url-handlers-tests.elc GEN lisp/url/url-handlers-tests.log ELC lisp/url/url-misc-tests.elc GEN lisp/url/url-misc-tests.log ELC lisp/url/url-parse-tests.elc GEN lisp/url/url-parse-tests.log ELC lisp/url/url-tramp-tests.elc GEN lisp/url/url-tramp-tests.log ELC lisp/url/url-util-tests.elc GEN lisp/url/url-util-tests.log ELC lisp/use-package/use-package-tests.elc GEN lisp/use-package/use-package-tests.log ELC lisp/vc/add-log-tests.elc GEN lisp/vc/add-log-tests.log ELC lisp/vc/diff-mode-tests.elc GEN lisp/vc/diff-mode-tests.log ELC lisp/vc/ediff-diff-tests.elc GEN lisp/vc/ediff-diff-tests.log ELC lisp/vc/ediff-ptch-tests.elc GEN lisp/vc/ediff-ptch-tests.log ELC lisp/vc/log-edit-tests.elc GEN lisp/vc/log-edit-tests.log ELC lisp/vc/smerge-mode-tests.elc GEN lisp/vc/smerge-mode-tests.log ELC lisp/vc/vc-bzr-tests.elc GEN lisp/vc/vc-bzr-tests.log ELC lisp/vc/vc-cvs-tests.elc GEN lisp/vc/vc-cvs-tests.log ELC lisp/vc/vc-git-tests.elc GEN lisp/vc/vc-git-tests.log ELC lisp/vc/vc-hg-tests.elc GEN lisp/vc/vc-hg-tests.log ELC lisp/vc/vc-tests.elc GEN lisp/vc/vc-tests.log ELC lisp/version-tests.elc GEN lisp/version-tests.log ELC lisp/wdired-tests.elc GEN lisp/wdired-tests.log ELC lisp/whitespace-tests.elc GEN lisp/whitespace-tests.log ELC lisp/wid-edit-tests.elc GEN lisp/wid-edit-tests.log ELC lisp/x-dnd-tests.elc GEN lisp/x-dnd-tests.log ELC lisp/xdg-tests.elc GEN lisp/xdg-tests.log ELC lisp/xml-tests.elc GEN lisp/xml-tests.log ELC lisp/xt-mouse-tests.elc GEN lisp/xt-mouse-tests.log ELC lisp/yank-media-tests.elc GEN lisp/yank-media-tests.log ELC misc/test-custom-deps.elc GEN misc/test-custom-deps.log ELC misc/test-custom-libs.elc GEN misc/test-custom-libs.log ELC misc/test-custom-noloads.elc GEN misc/test-custom-noloads.log ELC misc/test-custom-opts.elc GEN misc/test-custom-opts.log ELC src/alloc-tests.elc GEN src/alloc-tests.log ELC src/buffer-tests.elc GEN src/buffer-tests.log ELC src/callint-tests.elc GEN src/callint-tests.log ELC src/callproc-tests.elc GEN src/callproc-tests.log ELC src/casefiddle-tests.elc GEN src/casefiddle-tests.log ELC src/character-tests.elc GEN src/character-tests.log ELC src/charset-tests.elc GEN src/charset-tests.log ELC src/chartab-tests.elc GEN src/chartab-tests.log ELC src/cmds-tests.elc GEN src/cmds-tests.log ELC src/coding-tests.elc GEN src/coding-tests.log ELC src/comp-tests.elc GEN src/comp-tests.log ELC src/data-tests.elc GEN src/data-tests.log ELC src/decompress-tests.elc GEN src/decompress-tests.log ELC src/doc-tests.elc GEN src/doc-tests.log ELC src/editfns-tests.elc GEN src/editfns-tests.log CCLD src/emacs-module-resources/mod-test.so ELC src/emacs-module-tests.elc GEN src/emacs-module-tests.log Running 34 tests (2023-08-27 15:44:46+0000, selector `(not (or (tag :unstable) (tag :nativecomp)))') passed 1/34 emacs-module-tests/interleaved-threads (0.001017 sec) passed 2/34 mod-test-add-nanosecond/invalid (0.000423 sec) passed 3/34 mod-test-add-nanosecond/nil (0.000106 sec) passed 4/34 mod-test-add-nanosecond/valid (0.000611 sec) passed 5/34 mod-test-double (0.000275 sec) passed 6/34 mod-test-globref-free-test (0.000101 sec) passed 7/34 mod-test-globref-make-test (0.033369 sec) passed 8/34 mod-test-globref-reordered (0.000282 sec) passed 9/34 mod-test-make-string/empty (0.000221 sec) passed 10/34 mod-test-make-string/nonempty (0.000253 sec) passed 11/34 mod-test-nanoseconds (0.000505 sec) passed 12/34 mod-test-non-local-exit-funcall-normal (0.000130 sec) passed 13/34 mod-test-non-local-exit-funcall-signal (0.000129 sec) passed 14/34 mod-test-non-local-exit-funcall-throw (0.000131 sec) passed 15/34 mod-test-non-local-exit-signal-test (0.147517 sec) passed 16/34 mod-test-non-local-exit-throw-test (0.000135 sec) passed 17/34 mod-test-sleep-until (0.204790 sec) passed 18/34 mod-test-string-a-to-b-test (0.000163 sec) passed 19/34 mod-test-sum-docstring (0.000183 sec) passed 20/34 mod-test-sum-test (0.000448 sec) passed 21/34 mod-test-userptr-fun-test (0.000195 sec) passed 22/34 mod-test-vector-test (0.008822 sec) passed 23/34 module--func-arity (0.000147 sec) passed 24/34 module--help-function-arglist (0.000278 sec) skipped 25/34 module-darwin-secondary-suffix (0.000258 sec) passed 26/34 module-function-object (0.000244 sec) passed 27/34 module/async-pipe (0.501685 sec) passed 28/34 module/describe-function-1 (0.297335 sec) passed 29/34 module/function-finalizer (0.027819 sec) passed 30/34 module/interactive/identity (0.000199 sec) passed 31/34 module/interactive/return-t (0.000176 sec) passed 32/34 module/interactive/return-t-int (0.000151 sec) Loading /checkout/test/src/emacs-module-resources/mod-test (module)... passed 33/34 module/load-history (0.004198 sec) passed 34/34 module/unibyte (0.000149 sec) Ran 34 tests, 33 results as expected, 0 unexpected, 1 skipped (2023-08-27 15:44:48+0000, 1.285330 sec) 1 skipped results: SKIPPED module-darwin-secondary-suffix ((skip-unless (eq system-type 'darwin)) :form (eq gnu/linux darwin) :value nil) ELC src/emacs-tests.elc GEN src/emacs-tests.log ELC src/eval-tests.elc GEN src/eval-tests.log ELC src/fileio-tests.elc GEN src/fileio-tests.log ELC src/filelock-tests.elc GEN src/filelock-tests.log ELC src/floatfns-tests.elc GEN src/floatfns-tests.log ELC src/fns-tests.elc GEN src/fns-tests.log ELC src/font-tests.elc GEN src/font-tests.log ELC src/image-tests.elc GEN src/image-tests.log ELC src/indent-tests.elc GEN src/indent-tests.log ELC src/inotify-tests.elc GEN src/inotify-tests.log ELC src/json-tests.elc GEN src/json-tests.log ELC src/keyboard-tests.elc GEN src/keyboard-tests.log ELC src/keymap-tests.elc GEN src/keymap-tests.log ELC src/lcms-tests.elc GEN src/lcms-tests.log ELC src/lread-tests.elc GEN src/lread-tests.log ELC src/marker-tests.elc GEN src/marker-tests.log ELC src/minibuf-tests.elc GEN src/minibuf-tests.log ELC src/print-tests.elc GEN src/print-tests.log ELC src/process-tests.elc GEN src/process-tests.log ELC src/regex-emacs-tests.elc GEN src/regex-emacs-tests.log ELC src/search-tests.elc GEN src/search-tests.log ELC src/sqlite-tests.elc GEN src/sqlite-tests.log ELC src/syntax-tests.elc GEN src/syntax-tests.log ELC src/textprop-tests.elc GEN src/textprop-tests.log ELC src/thread-tests.elc GEN src/thread-tests.log ELC src/timefns-tests.elc GEN src/timefns-tests.log ELC src/treesit-tests.elc GEN src/treesit-tests.log ELC src/undo-tests.elc GEN src/undo-tests.log ELC src/xdisp-tests.elc GEN src/xdisp-tests.log ELC src/xfaces-tests.elc GEN src/xfaces-tests.log ELC src/xml-tests.elc GEN src/xml-tests.log make[3]: Leaving directory '/checkout/test' make[2]: [Makefile:343: check-doit] Error 2 (ignored) SUMMARY OF TEST RESULTS ----------------------- Files examined: 492 Ran 7507 tests, 18 failed to run, 7158 results as expected, 3 unexpected, 337 skipped 2 files did not finish: lisp/filenotify-tests.log lisp/eshell/esh-proc-tests.log Contents of unfinished file lisp/filenotify-tests.log: ----- Running 18 tests (2023-08-27 14:34:58+0000, selector `(not (or (tag :unstable) (tag :nativecomp)))') Library: `inotify' passed 1/18 file-notify-test00-availability (0.025924 sec) Library: `inotifywait' passed 2/18 file-notify-test00-availability-remote (2.027573 sec) passed 3/18 file-notify-test01-add-watch (0.041308 sec) passed 4/18 file-notify-test01-add-watch-remote (2.018268 sec) passed 5/18 file-notify-test02-rm-watch (0.068814 sec) passed 6/18 file-notify-test02-rm-watch-remote (7.472898 sec) passed 7/18 file-notify-test04-autorevert (9.078662 sec) passed 8/18 file-notify-test05-file-validity (10.047488 sec) timeout: the monitored command dumped core ----- Contents of unfinished file lisp/eshell/esh-proc-tests.log: ----- Running 21 tests (2023-08-27 14:34:31+0000, selector `(not (or (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/21 esh-proc-test/exit-status/failure (0.255976 sec) passed 2/21 esh-proc-test/exit-status/success (0.113333 sec) passed 3/21 esh-proc-test/exit-status/with-stderr-pipe (0.125111 sec) skipped 4/21 esh-proc-test/kill-pipeline (0.000823 sec) passed 5/21 esh-proc-test/kill-pipeline-head (0.124686 sec) passed 6/21 esh-proc-test/kill-process/background-prompt (0.011148 sec) [sleep]+ Done (/bin/sleep 100) passed 7/21 esh-proc-test/kill-process/foreground-only (0.139146 sec) passed 8/21 esh-proc-test/output/stderr-to-buffer (0.129330 sec) passed 9/21 esh-proc-test/output/stdout-and-stderr-to-buffer (0.110731 sec) passed 10/21 esh-proc-test/output/stdout-to-buffer (0.133454 sec) passed 11/21 esh-proc-test/output/to-screen (0.117071 sec) passed 12/21 esh-proc-test/pipeline-connection-type/first (0.082200 sec) Test esh-proc-test/pipeline-connection-type/last aborted with non-local exit ABORTED 13/21 esh-proc-test/pipeline-connection-type/last (0.017950 sec) at lisp/eshell/esh-proc-tests.el:183 Aborted: Ran 21 tests, 11 results as expected, 0 unexpected, 1 skipped (2023-08-27 14:34:33+0000, 1.499785 sec) 1 skipped results: SKIPPED esh-proc-test/kill-pipeline ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil) Error: wrong-type-argument (ert-test-result nil) mapbacktrace(#f(compiled-function (evald func args flags) #)) debug-early-backtrace() debug-early(error (wrong-type-argument ert-test-result nil)) signal(wrong-type-argument (ert-test-result nil)) ert-write-junit-test-report(#s(ert--stats :selector (not (or (tag :unstable) (tag :nativecomp))) :tests [#s(ert-test :name esh-proc-test/exit-status/failure :documentation "Check that failed execution is properly recorded." :body (closure (t) nil (let* ((fn-67 #'executable-find) (args-68 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-67 #'signal) (list (car err) (cdr err))))))) (let ((value-69 'ert-form-evaluation-aborted-70)) (let (form-description-71) (if (condition-case nil (progn (unwind-protect (setq value-69 (apply fn-67 args-68)) (setq form-description-71 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-67 args-68)) (if (eql value-69 'ert-form-evaluation-aborted-70) nil (list :value value-69)) (if (eql value-69 'ert-form-evaluation-aborted-70) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-68)) nil))))) (ert--signal-should-execution form-description-71))) (error nil)) nil (ert-skip form-description-71))) value-69)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sh -c 'exit 1'") (eshell-wait-for-subprocess) (let* ((fn-72 #'=) (args-73 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-status 1)) (error (progn (setq fn-72 #'signal) (list (car err) (cdr err))))))) (let ((value-74 'ert-form-evaluation-aborted-75)) (let (form-description-76) (if (unwind-protect (setq value-74 (apply fn-72 args-73)) (setq form-description-76 (nconc (list '(should (= eshell-last-command-status 1))) (list :form (cons fn-72 args-73)) (if (eql value-74 'ert-form-evaluation-aborted-75) nil (list :value value-74)) (if (eql value-74 'ert-form-evaluation-aborted-75) nil (let* ((-explainer- (and t (ert--get-explainer '=)))) (if -explainer- (list :explanation (apply -explainer- args-73)) nil))))) (ert--signal-should-execution form-description-76)) nil (ert-fail form-description-76))) value-74)) (let* ((fn-77 #'eq) (args-78 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-result nil)) (error (progn (setq fn-77 #'signal) (list (car err) (cdr err))))))) (let ((value-79 'ert-form-evaluation-aborted-80)) (let (form-description-81) (if (unwind-protect (setq value-79 (apply fn-77 args-78)) (setq form-description-81 (nconc (list '(should (eq eshell-last-command-result nil))) (list :form (cons fn-77 args-78)) (if (eql value-79 'ert-form-evaluation-aborted-80) nil (list :value value-79)) (if (eql value-79 'ert-form-evaluation-aborted-80) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-78)) nil))))) (ert--signal-should-execution form-description-81)) nil (ert-fail form-description-81))) value-79))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.255976072) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/exit-status/success :documentation "Check that successful execution is properly recorded." :body (closure (t) nil (let* ((fn-52 #'executable-find) (args-53 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-52 #'signal) (list (car err) (cdr err))))))) (let ((value-54 'ert-form-evaluation-aborted-55)) (let (form-description-56) (if (condition-case nil (progn (unwind-protect (setq value-54 (apply fn-52 args-53)) (setq form-description-56 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-52 args-53)) (if (eql value-54 'ert-form-evaluation-aborted-55) nil (list :value value-54)) (if (eql value-54 'ert-form-evaluation-aborted-55) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-53)) nil))))) (ert--signal-should-execution form-description-56))) (error nil)) nil (ert-skip form-description-56))) value-54)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sh -c 'exit 0'") (eshell-wait-for-subprocess) (let* ((fn-57 #'=) (args-58 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-status 0)) (error (progn (setq fn-57 #'signal) (list (car err) (cdr err))))))) (let ((value-59 'ert-form-evaluation-aborted-60)) (let (form-description-61) (if (unwind-protect (setq value-59 (apply fn-57 args-58)) (setq form-description-61 (nconc (list '(should (= eshell-last-command-status 0))) (list :form (cons fn-57 args-58)) (if (eql value-59 'ert-form-evaluation-aborted-60) nil (list :value value-59)) (if (eql value-59 'ert-form-evaluation-aborted-60) nil (let* ((-explainer- (and t (ert--get-explainer '=)))) (if -explainer- (list :explanation (apply -explainer- args-58)) nil))))) (ert--signal-should-execution form-description-61)) nil (ert-fail form-description-61))) value-59)) (let* ((fn-62 #'eq) (args-63 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-result t)) (error (progn (setq fn-62 #'signal) (list (car err) (cdr err))))))) (let ((value-64 'ert-form-evaluation-aborted-65)) (let (form-description-66) (if (unwind-protect (setq value-64 (apply fn-62 args-63)) (setq form-description-66 (nconc (list '(should (eq eshell-last-command-result t))) (list :form (cons fn-62 args-63)) (if (eql value-64 'ert-form-evaluation-aborted-65) nil (list :value value-64)) (if (eql value-64 'ert-form-evaluation-aborted-65) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-63)) nil))))) (ert--signal-should-execution form-description-66)) nil (ert-fail form-description-66))) value-64))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 0)) :form (= 0 0) :value t) ((should (eq eshell-last-command-result t)) :form (eq t t) :value t)) :duration 0.113332953) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/exit-status/with-stderr-pipe :documentation "Check that failed execution is properly recorded even with a pipe process." :body (closure (t) nil (let* ((fn-82 #'executable-find) (args-83 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-82 #'signal) (list (car err) (cdr err))))))) (let ((value-84 'ert-form-evaluation-aborted-85)) (let (form-description-86) (if (condition-case nil (progn (unwind-protect (setq value-84 (apply fn-82 args-83)) (setq form-description-86 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-82 args-83)) (if (eql value-84 'ert-form-evaluation-aborted-85) nil (list :value value-84)) (if (eql value-84 'ert-form-evaluation-aborted-85) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-83)) nil))))) (ert--signal-should-execution form-description-86))) (error nil)) nil (ert-skip form-description-86))) value-84)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (format "sh -c 'exit 1' > #<%s>" bufname)) (eshell-wait-for-subprocess) (let* ((fn-87 #'=) (args-88 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-status 1)) (error (progn (setq fn-87 #'signal) (list (car err) (cdr err))))))) (let ((value-89 'ert-form-evaluation-aborted-90)) (let (form-description-91) (if (unwind-protect (setq value-89 (apply fn-87 args-88)) (setq form-description-91 (nconc (list '(should (= eshell-last-command-status 1))) (list :form (cons fn-87 args-88)) (if (eql value-89 'ert-form-evaluation-aborted-90) nil (list :value value-89)) (if (eql value-89 'ert-form-evaluation-aborted-90) nil (let* ((-explainer- (and t (ert--get-explainer '=)))) (if -explainer- (list :explanation (apply -explainer- args-88)) nil))))) (ert--signal-should-execution form-description-91)) nil (ert-fail form-description-91))) value-89)) (let* ((fn-92 #'eq) (args-93 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-result nil)) (error (progn (setq fn-92 #'signal) (list (car err) (cdr err))))))) (let ((value-94 'ert-form-evaluation-aborted-95)) (let (form-description-96) (if (unwind-protect (setq value-94 (apply fn-92 args-93)) (setq form-description-96 (nconc (list '(should (eq eshell-last-command-result nil))) (list :form (cons fn-92 args-93)) (if (eql value-94 'ert-form-evaluation-aborted-95) nil (list :value value-94)) (if (eql value-94 'ert-form-evaluation-aborted-95) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-93)) nil))))) (ert--signal-should-execution form-description-96)) nil (ert-fail form-description-96))) value-94))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.12511139) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-skipped :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :duration 0.000823301 :condition (ert-test-skipped ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :backtrace (#s(backtrace-frame :evald t :fun signal :args (ert-test-skipped (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil))) :flags nil :locals ((debugger-may-continue . t) (inhibit-redisplay) (inhibit-debugger . t) (inhibit-changing-match-data)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-skip :args (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun if :args ((condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args ((form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144) (form-description-146 (skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args (((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let* :args (((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) :flags nil :locals ((fn-142 . not) (args-143 "1")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert--run-test-internal :args (#s(ert--test-execution-info :test #2 :result #3 :exit-continuation #f(compiled-function () #) :next-debugger debug :ert-debug-on-error nil)) :flags nil :locals ((ert--infos) (debug-ignored-errors) (debug-on-quit . t) (backtrace-on-error-noninteractive) (debug-on-error . t) (debugger . #f(compiled-function (&rest args) #)) (lexical-binding . t)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-test :args (#2) :flags nil :locals ((ert--running-tests #2) (message-log-max . t) (ert--should-execution-observer . #f(compiled-function (form-description) #))) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-or-rerun-test :args (#0 #2 #f(compiled-function (event-type &rest event-args) #)) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests :args ((not (or (tag :unstable) (tag :nativecomp))) #f(compiled-function (event-type &rest event-args) #) nil) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch-and-exit :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun eval :args ((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :nativecomp)))) t) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line-1 :args (("-L" ":." "-l" "ert" "-l" "lisp/eshell/esh-proc-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (or (tag :unstable) (tag :nativecomp)))))")) :flags nil :locals ((command-line-args-left) (argi . "-eval")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun normal-top-level :args nil :flags nil :locals nil :buffer nil :pos nil)) :infos nil) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-pipeline-head :documentation "Test that killing the first process in a pipeline doesn't\nwrite the exit status to the pipe. See bug#54136." :body (closure (t) nil (let ((value-152 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-153) (if (condition-case nil (progn (unwind-protect (setq value-152 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-153 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-152)) (ert--signal-should-execution form-description-153))) (error nil)) nil (ert-skip form-description-153))) value-152) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do sleep 1; done' | " "sh -c 'while read NAME; do echo =${NAME}=; done'")) (let ((output-start (eshell-beginning-of-output))) (kill-process (eshell-head-process)) (eshell-wait-for-subprocess t) (let* ((fn-154 #'equal) (args-155 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-substring-no-properties output-start (eshell-end-of-output)) "")) (error (progn (setq fn-154 #'signal) (list (car err) (cdr err))))))) (let ((value-156 'ert-form-evaluation-aborted-157)) (let (form-description-158) (if (unwind-protect (setq value-156 (apply fn-154 args-155)) (setq form-description-158 (nconc (list '(should (equal (buffer-substring-no-properties output-start (eshell-end-of-output)) ""))) (list :form (cons fn-154 args-155)) (if (eql value-156 'ert-form-evaluation-aborted-157) nil (list :value value-156)) (if (eql value-156 'ert-form-evaluation-aborted-157) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-155)) nil))))) (ert--signal-should-execution form-description-158)) nil (ert-fail form-description-158))) value-156)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((should (equal (buffer-substring-no-properties output-start (eshell-end-of-output)) "")) :form (equal "" "") :value t :explanation nil)) :duration 0.12468589) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-process/background-prompt :documentation "Test that killing a background process doesn't emit a new\nprompt. See bug#54136." :body (closure (t) nil (let ((value-133 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-134) (if (condition-case nil (progn (unwind-protect (setq value-133 (and (executable-find "sh") (executable-find "sleep"))) (setq form-description-134 (list '(skip-unless (and (executable-find "sh") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "sleep")) :value value-133)) (ert--signal-should-execution form-description-134))) (error nil)) nil (ert-skip form-description-134))) value-133) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sh -c 'while true; do sleep 1; done' &") (kill-process (car (car eshell-process-list))) (eshell-wait-for-subprocess) (let* ((fn-135 #'eshell-match-output) (args-136 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")) (error (progn (setq fn-135 #'signal) (list (car err) (cdr err))))))) (let ((value-137 'ert-form-evaluation-aborted-138)) (let (form-description-139) (if (unwind-protect (setq value-137 (apply fn-135 args-136)) (setq form-description-139 (nconc (list '(should (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n"))) (list :form (cons fn-135 args-136)) (if (eql value-137 'ert-form-evaluation-aborted-138) nil (list :value value-137)) (if (eql value-137 'ert-form-evaluation-aborted-138) nil (let* ((-explainer- (and t (ert--get-explainer 'eshell-match-output)))) (if -explainer- (list :explanation (apply -explainer- args-136)) nil))))) (ert--signal-should-execution form-description-139)) nil (ert-fail form-description-139))) value-137))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "sleep")) :value "/bin/sleep") ((should (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")) :form (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n") :value 0 :explanation (mismatched-output (command "sh -c 'while true; do sleep 1; done' &\n") (output "[sh] 20225\n") (regexp "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")))) :duration 0.011147818) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-process/foreground-only :documentation "Test that `eshell-kill-process' only kills foreground processes." :body (closure (t) nil (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sleep 100 &") (eshell-insert-command "sleep 100") (let* ((fn-118 #'equal) (args-119 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (length eshell-process-list) 2)) (error (progn (setq fn-118 #'signal) (list (car err) (cdr err))))))) (let ((value-120 'ert-form-evaluation-aborted-121)) (let (form-description-122) (if (unwind-protect (setq value-120 (apply fn-118 args-119)) (setq form-description-122 (nconc (list '(should (equal (length eshell-process-list) 2))) (list :form (cons fn-118 args-119)) (if (eql value-120 'ert-form-evaluation-aborted-121) nil (list :value value-120)) (if (eql value-120 'ert-form-evaluation-aborted-121) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-119)) nil))))) (ert--signal-should-execution form-description-122)) nil (ert-fail form-description-122))) value-120)) (eshell-kill-process) (eshell-wait-for-subprocess) (let* ((fn-123 #'equal) (args-124 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (length eshell-process-list) 1)) (error (progn (setq fn-123 #'signal) (list (car err) (cdr err))))))) (let ((value-125 'ert-form-evaluation-aborted-126)) (let (form-description-127) (if (unwind-protect (setq value-125 (apply fn-123 args-124)) (setq form-description-127 (nconc (list '(should (equal (length eshell-process-list) 1))) (list :form (cons fn-123 args-124)) (if (eql value-125 'ert-form-evaluation-aborted-126) nil (list :value value-125)) (if (eql value-125 'ert-form-evaluation-aborted-126) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-124)) nil))))) (ert--signal-should-execution form-description-127)) nil (ert-fail form-description-127))) value-125)) (eshell-process-interact 'kill-process t) (eshell-wait-for-subprocess t) (let* ((fn-128 #'equal) (args-129 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (length eshell-process-list) 0)) (error (progn (setq fn-128 #'signal) (list (car err) (cdr err))))))) (let ((value-130 'ert-form-evaluation-aborted-131)) (let (form-description-132) (if (unwind-protect (setq value-130 (apply fn-128 args-129)) (setq form-description-132 (nconc (list '(should (equal (length eshell-process-list) 0))) (list :form (cons fn-128 args-129)) (if (eql value-130 'ert-form-evaluation-aborted-131) nil (list :value value-130)) (if (eql value-130 'ert-form-evaluation-aborted-131) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-129)) nil))))) (ert--signal-should-execution form-description-132)) nil (ert-fail form-description-132))) value-130))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "[sleep]+ Done (/bin/sleep 100)\n" :should-forms (((should (equal (length eshell-process-list) 2)) :form (equal 2 2) :value t :explanation nil) ((should (equal (length eshell-process-list) 1)) :form (equal 1 1) :value t :explanation nil) ((should (equal (length eshell-process-list) 0)) :form (equal 0 0) :value t :explanation nil)) :duration 0.139145891) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/stderr-to-buffer :documentation "Check that redirecting only stderr works." :body (closure (t) nil (let* ((fn-25 #'executable-find) (args-26 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-25 #'signal) (list (car err) (cdr err))))))) (let ((value-27 'ert-form-evaluation-aborted-28)) (let (form-description-29) (if (condition-case nil (progn (unwind-protect (setq value-27 (apply fn-25 args-26)) (setq form-description-29 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-25 args-26)) (if (eql value-27 'ert-form-evaluation-aborted-28) nil (list :value value-27)) (if (eql value-27 'ert-form-evaluation-aborted-28) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-26)) nil))))) (ert--signal-should-execution form-description-29))) (error nil)) nil (ert-skip form-description-29))) value-27)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "%s 2> #<%s>" esh-proc-test--output-cmd bufname) "stdout\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-30 #'equal) (args-31 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "stderr\n")) (error (progn (setq fn-30 #'signal) (list (car err) (cdr err))))))) (let ((value-32 'ert-form-evaluation-aborted-33)) (let (form-description-34) (if (unwind-protect (setq value-32 (apply fn-30 args-31)) (setq form-description-34 (nconc (list '(should (equal (buffer-string) "stderr\n"))) (list :form (cons fn-30 args-31)) (if (eql value-32 'ert-form-evaluation-aborted-33) nil (list :value value-32)) (if (eql value-32 'ert-form-evaluation-aborted-33) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-31)) nil))))) (ert--signal-should-execution form-description-34)) nil (ert-fail form-description-34))) value-32)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' 2> #\n") (output "stdout\n") (regexp "stdout\n"))) ((should (equal (buffer-string) "stderr\n")) :form (equal "stderr\n" "stderr\n") :value t :explanation nil)) :duration 0.129330153) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/stdout-and-stderr-to-buffer :documentation "Check that redirecting stdout and stderr works." :body (closure (t) nil (let* ((fn-35 #'executable-find) (args-36 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-35 #'signal) (list (car err) (cdr err))))))) (let ((value-37 'ert-form-evaluation-aborted-38)) (let (form-description-39) (if (condition-case nil (progn (unwind-protect (setq value-37 (apply fn-35 args-36)) (setq form-description-39 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-35 args-36)) (if (eql value-37 'ert-form-evaluation-aborted-38) nil (list :value value-37)) (if (eql value-37 'ert-form-evaluation-aborted-38) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-36)) nil))))) (ert--signal-should-execution form-description-39))) (error nil)) nil (ert-skip form-description-39))) value-37)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "%s &> #<%s>" esh-proc-test--output-cmd bufname) "\\`\\'")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-40 #'equal) (args-41 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "stdout\nstderr\n")) (error (progn (setq fn-40 #'signal) (list (car err) (cdr err))))))) (let ((value-42 'ert-form-evaluation-aborted-43)) (let (form-description-44) (if (unwind-protect (setq value-42 (apply fn-40 args-41)) (setq form-description-44 (nconc (list '(should (equal (buffer-string) "stdout\nstderr\n"))) (list :form (cons fn-40 args-41)) (if (eql value-42 'ert-form-evaluation-aborted-43) nil (list :value value-42)) (if (eql value-42 'ert-form-evaluation-aborted-43) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-41)) nil))))) (ert--signal-should-execution form-description-44)) nil (ert-fail form-description-44))) value-42)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "\\`\\'") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' &> #\n") (output "") (regexp "\\`\\'"))) ((should (equal (buffer-string) "stdout\nstderr\n")) :form (equal "stdout\nstderr\n" "stdout\nstderr\n") :value t :explanation nil)) :duration 0.110731251) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/stdout-to-buffer :documentation "Check that redirecting only stdout works." :body (closure (t) nil (let* ((fn-15 #'executable-find) (args-16 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-15 #'signal) (list (car err) (cdr err))))))) (let ((value-17 'ert-form-evaluation-aborted-18)) (let (form-description-19) (if (condition-case nil (progn (unwind-protect (setq value-17 (apply fn-15 args-16)) (setq form-description-19 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-15 args-16)) (if (eql value-17 'ert-form-evaluation-aborted-18) nil (list :value value-17)) (if (eql value-17 'ert-form-evaluation-aborted-18) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-16)) nil))))) (ert--signal-should-execution form-description-19))) (error nil)) nil (ert-skip form-description-19))) value-17)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "%s > #<%s>" esh-proc-test--output-cmd bufname) "stderr\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-20 #'equal) (args-21 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "stdout\n")) (error (progn (setq fn-20 #'signal) (list (car err) (cdr err))))))) (let ((value-22 'ert-form-evaluation-aborted-23)) (let (form-description-24) (if (unwind-protect (setq value-22 (apply fn-20 args-21)) (setq form-description-24 (nconc (list '(should (equal (buffer-string) "stdout\n"))) (list :form (cons fn-20 args-21)) (if (eql value-22 'ert-form-evaluation-aborted-23) nil (list :value value-22)) (if (eql value-22 'ert-form-evaluation-aborted-23) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-21)) nil))))) (ert--signal-should-execution form-description-24)) nil (ert-fail form-description-24))) value-22)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' > #\n") (output "stderr\n") (regexp "stderr\n"))) ((should (equal (buffer-string) "stdout\n")) :form (equal "stdout\n" "stdout\n") :value t :explanation nil)) :duration 0.133453581) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/to-screen :documentation "Check that outputting stdout and stderr to the screen works." :body (closure (t) nil (let* ((fn-10 #'executable-find) (args-11 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-10 #'signal) (list (car err) (cdr err))))))) (let ((value-12 'ert-form-evaluation-aborted-13)) (let (form-description-14) (if (condition-case nil (progn (unwind-protect (setq value-12 (apply fn-10 args-11)) (setq form-description-14 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-10 args-11)) (if (eql value-12 'ert-form-evaluation-aborted-13) nil (list :value value-12)) (if (eql value-12 'ert-form-evaluation-aborted-13) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-11)) nil))))) (ert--signal-should-execution form-description-14))) (error nil)) nil (ert-skip form-description-14))) value-12)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output esh-proc-test--output-cmd "stdout\nstderr\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\nstderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2'\n") (output "stdout\nstderr\n") (regexp "stdout\nstderr\n")))) :duration 0.11707101) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/first :documentation "Test that only stdin is a PTY when a command starts a pipeline." :body (closure (t) nil (let ((value-109 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-110) (if (condition-case nil (progn (unwind-protect (setq value-109 (and (executable-find "sh") (executable-find "cat"))) (setq form-description-110 (list '(skip-unless (and (executable-find "sh") (executable-find "cat"))) :form '(and (executable-find "sh") (executable-find "cat")) :value value-109)) (ert--signal-should-execution form-description-110))) (error nil)) nil (ert-skip form-description-110))) value-109) (eshell-command-result-equal (concat esh-proc-test--detect-pty-cmd " | cat") (if (eq system-type 'windows-nt) nil "stdin\n")) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "cat"))) :form (and (executable-find "sh") (executable-find "cat")) :value "/bin/cat") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat" "stdin\n" "stdin\n") :value t :explanation (nonequal-result (command "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat") (result "stdin\n") (expected "stdin\n")))) :duration 0.082199955) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/last :documentation "Test that only output streams are PTYs when a command ends a pipeline." :body (closure (t) nil (let* ((fn-113 #'executable-find) (args-114 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-113 #'signal) (list (car err) (cdr err))))))) (let ((value-115 'ert-form-evaluation-aborted-116)) (let (form-description-117) (if (condition-case nil (progn (unwind-protect (setq value-115 (apply fn-113 args-114)) (setq form-description-117 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-113 args-114)) (if (eql value-115 'ert-form-evaluation-aborted-116) nil (list :value value-115)) (if (eql value-115 'ert-form-evaluation-aborted-116) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-114)) nil))))) (ert--signal-should-execution form-description-117))) (error nil)) nil (ert-skip form-description-117))) value-115)) (let ((debug-on-error nil)) (eshell-command-result-equal (concat "echo hi | " esh-proc-test--detect-pty-cmd) (if (eq system-type 'windows-nt) nil "stdout\nstderr\n"))) nil) :most-recent-result #s(ert-test-aborted-with-non-local-exit :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'" nil "stdout\nstderr\n") :value nil :explanation (nonequal-result (command "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'") (result nil) (expected "stdout\nstderr\n")))) :duration 0.017949867) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/middle :documentation "Test that all streams are pipes when a command is in the middle of a\npipeline." :body (closure (t) nil (let ((value-111 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-112) (if (condition-case nil (progn (unwind-protect (setq value-111 (and (executable-find "sh") (executable-find "cat"))) (setq form-description-112 (list '(skip-unless (and (executable-find "sh") (executable-find "cat"))) :form '(and (executable-find "sh") (executable-find "cat")) :value value-111)) (ert--signal-should-execution form-description-112))) (error nil)) nil (ert-skip form-description-112))) value-111) (let ((debug-on-error nil)) (eshell-command-result-equal (concat "echo hi | " esh-proc-test--detect-pty-cmd " | cat") nil)) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/no-pipeline :documentation "Test that all streams are PTYs when a command is not in a pipeline." :body (closure (t) nil (let* ((fn-104 #'executable-find) (args-105 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-104 #'signal) (list (car err) (cdr err))))))) (let ((value-106 'ert-form-evaluation-aborted-107)) (let (form-description-108) (if (condition-case nil (progn (unwind-protect (setq value-106 (apply fn-104 args-105)) (setq form-description-108 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-104 args-105)) (if (eql value-106 'ert-form-evaluation-aborted-107) nil (list :value value-106)) (if (eql value-106 'ert-form-evaluation-aborted-107) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-105)) nil))))) (ert--signal-should-execution form-description-108))) (error nil)) nil (ert-skip form-description-108))) value-106)) (eshell-command-result-equal esh-proc-test--detect-pty-cmd (if (eq system-type 'windows-nt) nil "stdin\nstdout\nstderr\n")) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/sigpipe-exits-process :documentation "Test that a SIGPIPE is properly sent to a process if a pipe closes" :body (closure (t) nil (let ((value-97 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-98) (if (condition-case nil (progn (unwind-protect (setq value-97 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-98 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-97)) (ert--signal-should-execution form-description-98))) (error nil)) nil (ert-skip form-description-98))) value-97) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (concat "sh -c 'while true; do echo y; sleep 1; done' |& " "sh -c 'read NAME; echo ${NAME}'") "y\n") (eshell-wait-for-subprocess t) (let* ((fn-99 #'eq) (args-100 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (process-list) nil)) (error (progn (setq fn-99 #'signal) (list (car err) (cdr err))))))) (let ((value-101 'ert-form-evaluation-aborted-102)) (let (form-description-103) (if (unwind-protect (setq value-101 (apply fn-99 args-100)) (setq form-description-103 (nconc (list '(should (eq (process-list) nil))) (list :form (cons fn-99 args-100)) (if (eql value-101 'ert-form-evaluation-aborted-102) nil (list :value value-101)) (if (eql value-101 'ert-form-evaluation-aborted-102) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-100)) nil))))) (ert--signal-should-execution form-description-103)) nil (ert-fail form-description-103))) value-101))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/pipeline/command-result :documentation "Test that synchronous pipelines work via `eshell-command-result'." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (eshell-command-result-equal (concat esh-proc-test/emacs-echo " | " esh-proc-test/emacs-upcase) "HELLO\n")) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/pipeline/interactive :documentation "Test that synchronous pipelines work in an interactive shell." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (concat esh-proc-test/emacs-echo " | " esh-proc-test/emacs-upcase) "\\`HELLO\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil)))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/simple/command-result :documentation "Test that synchronous processes work via `eshell-command-result'." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (eshell-command-result-equal esh-proc-test/emacs-echo "hello\n")) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/simple/interactive :documentation "Test that synchronous processes work in an interactive shell." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output esh-proc-test/emacs-echo "\\`hello\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil)))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-var-test/output/remote-redirect :documentation "Check that redirecting stdout for a remote process works." :body (closure (t) nil (let ((value-45 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-46) (if (condition-case nil (progn (unwind-protect (setq value-45 (and (eshell-tests-remote-accessible-p) (executable-find "echo"))) (setq form-description-46 (list '(skip-unless (and (eshell-tests-remote-accessible-p) (executable-find "echo"))) :form '(and (eshell-tests-remote-accessible-p) (executable-find "echo")) :value value-45)) (ert--signal-should-execution form-description-46))) (error nil)) nil (ert-skip form-description-46))) value-45) (let ((default-directory ert-remote-temporary-file-directory)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "*echo hello > #<%s>" bufname) "\\`\\'")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-47 #'equal) (args-48 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "hello\n")) (error (progn (setq fn-47 #'signal) (list (car err) (cdr err))))))) (let ((value-49 'ert-form-evaluation-aborted-50)) (let (form-description-51) (if (unwind-protect (setq value-49 (apply fn-47 args-48)) (setq form-description-51 (nconc (list '(should (equal (buffer-string) "hello\n"))) (list :form (cons fn-47 args-48)) (if (eql value-49 'ert-form-evaluation-aborted-50) nil (list :value value-49)) (if (eql value-49 'ert-form-evaluation-aborted-50) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-48)) nil))))) (ert--signal-should-execution form-description-51)) nil (ert-fail form-description-51))) value-49)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el")] :test-map # :test-results [#s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.255976072) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 0)) :form (= 0 0) :value t) ((should (eq eshell-last-command-result t)) :form (eq t t) :value t)) :duration 0.113332953) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.12511139) #s(ert-test-skipped :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :duration 0.000823301 :condition (ert-test-skipped ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :backtrace (#s(backtrace-frame :evald t :fun signal :args (ert-test-skipped (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil))) :flags nil :locals ((debugger-may-continue . t) (inhibit-redisplay) (inhibit-debugger . t) (inhibit-changing-match-data)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-skip :args (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun if :args ((condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args ((form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144) (form-description-146 (skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args (((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let* :args (((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) :flags nil :locals ((fn-142 . not) (args-143 "1")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert--run-test-internal :args (#s(ert--test-execution-info :test #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") :result #2 :exit-continuation #f(compiled-function () #) :next-debugger debug :ert-debug-on-error nil)) :flags nil :locals ((ert--infos) (debug-ignored-errors) (debug-on-quit . t) (backtrace-on-error-noninteractive) (debug-on-error . t) (debugger . #f(compiled-function (&rest args) #)) (lexical-binding . t)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-test :args (#s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el")) :flags nil :locals ((ert--running-tests #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el")) (message-log-max . t) (ert--should-execution-observer . #f(compiled-function (form-description) #))) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-or-rerun-test :args (#0 #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #f(compiled-function (event-type &rest event-args) #)) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests :args ((not (or (tag :unstable) (tag :nativecomp))) #f(compiled-function (event-type &rest event-args) #) nil) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch-and-exit :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun eval :args ((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :nativecomp)))) t) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line-1 :args (("-L" ":." "-l" "ert" "-l" "lisp/eshell/esh-proc-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (or (tag :unstable) (tag :nativecomp)))))")) :flags nil :locals ((command-line-args-left) (argi . "-eval")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun normal-top-level :args nil :flags nil :locals nil :buffer nil :pos nil)) :infos nil) #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((should (equal (buffer-substring-no-properties output-start (eshell-end-of-output)) "")) :form (equal "" "") :value t :explanation nil)) :duration 0.12468589) #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "sleep")) :value "/bin/sleep") ((should (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")) :form (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n") :value 0 :explanation (mismatched-output (command "sh -c 'while true; do sleep 1; done' &\n") (output "[sh] 20225\n") (regexp "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")))) :duration 0.011147818) #s(ert-test-passed :messages "[sleep]+ Done (/bin/sleep 100)\n" :should-forms (((should (equal (length eshell-process-list) 2)) :form (equal 2 2) :value t :explanation nil) ((should (equal (length eshell-process-list) 1)) :form (equal 1 1) :value t :explanation nil) ((should (equal (length eshell-process-list) 0)) :form (equal 0 0) :value t :explanation nil)) :duration 0.139145891) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' 2> #\n") (output "stdout\n") (regexp "stdout\n"))) ((should (equal (buffer-string) "stderr\n")) :form (equal "stderr\n" "stderr\n") :value t :explanation nil)) :duration 0.129330153) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "\\`\\'") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' &> #\n") (output "") (regexp "\\`\\'"))) ((should (equal (buffer-string) "stdout\nstderr\n")) :form (equal "stdout\nstderr\n" "stdout\nstderr\n") :value t :explanation nil)) :duration 0.110731251) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' > #\n") (output "stderr\n") (regexp "stderr\n"))) ((should (equal (buffer-string) "stdout\n")) :form (equal "stdout\n" "stdout\n") :value t :explanation nil)) :duration 0.133453581) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\nstderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2'\n") (output "stdout\nstderr\n") (regexp "stdout\nstderr\n")))) :duration 0.11707101) #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "cat"))) :form (and (executable-find "sh") (executable-find "cat")) :value "/bin/cat") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat" "stdin\n" "stdin\n") :value t :explanation (nonequal-result (command "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat") (result "stdin\n") (expected "stdin\n")))) :duration 0.082199955) #s(ert-test-aborted-with-non-local-exit :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'" nil "stdout\nstderr\n") :value nil :explanation (nonequal-result (command "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'") (result nil) (expected "stdout\nstderr\n")))) :duration 0.017949867) nil nil nil nil nil nil nil nil] :test-start-times [(25835 24311 603318 259000) (25835 24311 859480 481000) (25835 24311 973026 192000) (25835 24312 98329 706000) (25835 24312 99266 651000) (25835 24312 224207 522000) (25835 24312 235503 367000) (25835 24312 374798 709000) (25835 24312 504353 631000) (25835 24312 615391 514000) (25835 24312 749116 296000) (25835 24312 866400 655000) (25835 24312 948813 640000) nil nil nil nil nil nil nil nil] :test-end-times [(25835 24311 859294 331000) (25835 24311 972813 434000) (25835 24312 98137 582000) (25835 24312 99153 7000) (25835 24312 223952 541000) (25835 24312 235355 340000) (25835 24312 374649 258000) (25835 24312 504128 862000) (25835 24312 615084 882000) (25835 24312 748845 95000) (25835 24312 866187 306000) (25835 24312 948600 610000) (25835 24312 966763 507000) nil nil nil nil nil nil nil nil] :passed-expected 11 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 0 :skipped 1 :start-time (25835 24311 603066 948000) :end-time (25835 24313 102851 991000) :aborted-p t :current-test nil :next-redisplay 0.0)) #f(compiled-function (event-type &rest event-args) #)(run-ended #s(ert--stats :selector (not (or (tag :unstable) (tag :nativecomp))) :tests [#s(ert-test :name esh-proc-test/exit-status/failure :documentation "Check that failed execution is properly recorded." :body (closure (t) nil (let* ((fn-67 #'executable-find) (args-68 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-67 #'signal) (list (car err) (cdr err))))))) (let ((value-69 'ert-form-evaluation-aborted-70)) (let (form-description-71) (if (condition-case nil (progn (unwind-protect (setq value-69 (apply fn-67 args-68)) (setq form-description-71 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-67 args-68)) (if (eql value-69 'ert-form-evaluation-aborted-70) nil (list :value value-69)) (if (eql value-69 'ert-form-evaluation-aborted-70) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-68)) nil))))) (ert--signal-should-execution form-description-71))) (error nil)) nil (ert-skip form-description-71))) value-69)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sh -c 'exit 1'") (eshell-wait-for-subprocess) (let* ((fn-72 #'=) (args-73 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-status 1)) (error (progn (setq fn-72 #'signal) (list (car err) (cdr err))))))) (let ((value-74 'ert-form-evaluation-aborted-75)) (let (form-description-76) (if (unwind-protect (setq value-74 (apply fn-72 args-73)) (setq form-description-76 (nconc (list '(should (= eshell-last-command-status 1))) (list :form (cons fn-72 args-73)) (if (eql value-74 'ert-form-evaluation-aborted-75) nil (list :value value-74)) (if (eql value-74 'ert-form-evaluation-aborted-75) nil (let* ((-explainer- (and t (ert--get-explainer '=)))) (if -explainer- (list :explanation (apply -explainer- args-73)) nil))))) (ert--signal-should-execution form-description-76)) nil (ert-fail form-description-76))) value-74)) (let* ((fn-77 #'eq) (args-78 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-result nil)) (error (progn (setq fn-77 #'signal) (list (car err) (cdr err))))))) (let ((value-79 'ert-form-evaluation-aborted-80)) (let (form-description-81) (if (unwind-protect (setq value-79 (apply fn-77 args-78)) (setq form-description-81 (nconc (list '(should (eq eshell-last-command-result nil))) (list :form (cons fn-77 args-78)) (if (eql value-79 'ert-form-evaluation-aborted-80) nil (list :value value-79)) (if (eql value-79 'ert-form-evaluation-aborted-80) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-78)) nil))))) (ert--signal-should-execution form-description-81)) nil (ert-fail form-description-81))) value-79))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.255976072) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/exit-status/success :documentation "Check that successful execution is properly recorded." :body (closure (t) nil (let* ((fn-52 #'executable-find) (args-53 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-52 #'signal) (list (car err) (cdr err))))))) (let ((value-54 'ert-form-evaluation-aborted-55)) (let (form-description-56) (if (condition-case nil (progn (unwind-protect (setq value-54 (apply fn-52 args-53)) (setq form-description-56 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-52 args-53)) (if (eql value-54 'ert-form-evaluation-aborted-55) nil (list :value value-54)) (if (eql value-54 'ert-form-evaluation-aborted-55) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-53)) nil))))) (ert--signal-should-execution form-description-56))) (error nil)) nil (ert-skip form-description-56))) value-54)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sh -c 'exit 0'") (eshell-wait-for-subprocess) (let* ((fn-57 #'=) (args-58 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-status 0)) (error (progn (setq fn-57 #'signal) (list (car err) (cdr err))))))) (let ((value-59 'ert-form-evaluation-aborted-60)) (let (form-description-61) (if (unwind-protect (setq value-59 (apply fn-57 args-58)) (setq form-description-61 (nconc (list '(should (= eshell-last-command-status 0))) (list :form (cons fn-57 args-58)) (if (eql value-59 'ert-form-evaluation-aborted-60) nil (list :value value-59)) (if (eql value-59 'ert-form-evaluation-aborted-60) nil (let* ((-explainer- (and t (ert--get-explainer '=)))) (if -explainer- (list :explanation (apply -explainer- args-58)) nil))))) (ert--signal-should-execution form-description-61)) nil (ert-fail form-description-61))) value-59)) (let* ((fn-62 #'eq) (args-63 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-result t)) (error (progn (setq fn-62 #'signal) (list (car err) (cdr err))))))) (let ((value-64 'ert-form-evaluation-aborted-65)) (let (form-description-66) (if (unwind-protect (setq value-64 (apply fn-62 args-63)) (setq form-description-66 (nconc (list '(should (eq eshell-last-command-result t))) (list :form (cons fn-62 args-63)) (if (eql value-64 'ert-form-evaluation-aborted-65) nil (list :value value-64)) (if (eql value-64 'ert-form-evaluation-aborted-65) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-63)) nil))))) (ert--signal-should-execution form-description-66)) nil (ert-fail form-description-66))) value-64))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 0)) :form (= 0 0) :value t) ((should (eq eshell-last-command-result t)) :form (eq t t) :value t)) :duration 0.113332953) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/exit-status/with-stderr-pipe :documentation "Check that failed execution is properly recorded even with a pipe process." :body (closure (t) nil (let* ((fn-82 #'executable-find) (args-83 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-82 #'signal) (list (car err) (cdr err))))))) (let ((value-84 'ert-form-evaluation-aborted-85)) (let (form-description-86) (if (condition-case nil (progn (unwind-protect (setq value-84 (apply fn-82 args-83)) (setq form-description-86 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-82 args-83)) (if (eql value-84 'ert-form-evaluation-aborted-85) nil (list :value value-84)) (if (eql value-84 'ert-form-evaluation-aborted-85) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-83)) nil))))) (ert--signal-should-execution form-description-86))) (error nil)) nil (ert-skip form-description-86))) value-84)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (format "sh -c 'exit 1' > #<%s>" bufname)) (eshell-wait-for-subprocess) (let* ((fn-87 #'=) (args-88 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-status 1)) (error (progn (setq fn-87 #'signal) (list (car err) (cdr err))))))) (let ((value-89 'ert-form-evaluation-aborted-90)) (let (form-description-91) (if (unwind-protect (setq value-89 (apply fn-87 args-88)) (setq form-description-91 (nconc (list '(should (= eshell-last-command-status 1))) (list :form (cons fn-87 args-88)) (if (eql value-89 'ert-form-evaluation-aborted-90) nil (list :value value-89)) (if (eql value-89 'ert-form-evaluation-aborted-90) nil (let* ((-explainer- (and t (ert--get-explainer '=)))) (if -explainer- (list :explanation (apply -explainer- args-88)) nil))))) (ert--signal-should-execution form-description-91)) nil (ert-fail form-description-91))) value-89)) (let* ((fn-92 #'eq) (args-93 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list eshell-last-command-result nil)) (error (progn (setq fn-92 #'signal) (list (car err) (cdr err))))))) (let ((value-94 'ert-form-evaluation-aborted-95)) (let (form-description-96) (if (unwind-protect (setq value-94 (apply fn-92 args-93)) (setq form-description-96 (nconc (list '(should (eq eshell-last-command-result nil))) (list :form (cons fn-92 args-93)) (if (eql value-94 'ert-form-evaluation-aborted-95) nil (list :value value-94)) (if (eql value-94 'ert-form-evaluation-aborted-95) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-93)) nil))))) (ert--signal-should-execution form-description-96)) nil (ert-fail form-description-96))) value-94))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.12511139) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-skipped :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :duration 0.000823301 :condition (ert-test-skipped ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :backtrace (#s(backtrace-frame :evald t :fun signal :args (ert-test-skipped (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil))) :flags nil :locals ((debugger-may-continue . t) (inhibit-redisplay) (inhibit-debugger . t) (inhibit-changing-match-data)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-skip :args (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun if :args ((condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args ((form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144) (form-description-146 (skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args (((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let* :args (((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) :flags nil :locals ((fn-142 . not) (args-143 "1")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert--run-test-internal :args (#s(ert--test-execution-info :test #2 :result #3 :exit-continuation #f(compiled-function () #) :next-debugger debug :ert-debug-on-error nil)) :flags nil :locals ((ert--infos) (debug-ignored-errors) (debug-on-quit . t) (backtrace-on-error-noninteractive) (debug-on-error . t) (debugger . #f(compiled-function (&rest args) #)) (lexical-binding . t)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-test :args (#2) :flags nil :locals ((ert--running-tests #2) (message-log-max . t) (ert--should-execution-observer . #f(compiled-function (form-description) #))) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-or-rerun-test :args (#0 #2 #f(compiled-function (event-type &rest event-args) #)) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests :args ((not (or (tag :unstable) (tag :nativecomp))) #f(compiled-function (event-type &rest event-args) #) nil) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch-and-exit :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun eval :args ((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :nativecomp)))) t) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line-1 :args (("-L" ":." "-l" "ert" "-l" "lisp/eshell/esh-proc-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (or (tag :unstable) (tag :nativecomp)))))")) :flags nil :locals ((command-line-args-left) (argi . "-eval")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun normal-top-level :args nil :flags nil :locals nil :buffer nil :pos nil)) :infos nil) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-pipeline-head :documentation "Test that killing the first process in a pipeline doesn't\nwrite the exit status to the pipe. See bug#54136." :body (closure (t) nil (let ((value-152 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-153) (if (condition-case nil (progn (unwind-protect (setq value-152 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-153 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-152)) (ert--signal-should-execution form-description-153))) (error nil)) nil (ert-skip form-description-153))) value-152) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do sleep 1; done' | " "sh -c 'while read NAME; do echo =${NAME}=; done'")) (let ((output-start (eshell-beginning-of-output))) (kill-process (eshell-head-process)) (eshell-wait-for-subprocess t) (let* ((fn-154 #'equal) (args-155 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-substring-no-properties output-start (eshell-end-of-output)) "")) (error (progn (setq fn-154 #'signal) (list (car err) (cdr err))))))) (let ((value-156 'ert-form-evaluation-aborted-157)) (let (form-description-158) (if (unwind-protect (setq value-156 (apply fn-154 args-155)) (setq form-description-158 (nconc (list '(should (equal (buffer-substring-no-properties output-start (eshell-end-of-output)) ""))) (list :form (cons fn-154 args-155)) (if (eql value-156 'ert-form-evaluation-aborted-157) nil (list :value value-156)) (if (eql value-156 'ert-form-evaluation-aborted-157) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-155)) nil))))) (ert--signal-should-execution form-description-158)) nil (ert-fail form-description-158))) value-156)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((should (equal (buffer-substring-no-properties output-start (eshell-end-of-output)) "")) :form (equal "" "") :value t :explanation nil)) :duration 0.12468589) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-process/background-prompt :documentation "Test that killing a background process doesn't emit a new\nprompt. See bug#54136." :body (closure (t) nil (let ((value-133 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-134) (if (condition-case nil (progn (unwind-protect (setq value-133 (and (executable-find "sh") (executable-find "sleep"))) (setq form-description-134 (list '(skip-unless (and (executable-find "sh") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "sleep")) :value value-133)) (ert--signal-should-execution form-description-134))) (error nil)) nil (ert-skip form-description-134))) value-133) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sh -c 'while true; do sleep 1; done' &") (kill-process (car (car eshell-process-list))) (eshell-wait-for-subprocess) (let* ((fn-135 #'eshell-match-output) (args-136 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")) (error (progn (setq fn-135 #'signal) (list (car err) (cdr err))))))) (let ((value-137 'ert-form-evaluation-aborted-138)) (let (form-description-139) (if (unwind-protect (setq value-137 (apply fn-135 args-136)) (setq form-description-139 (nconc (list '(should (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n"))) (list :form (cons fn-135 args-136)) (if (eql value-137 'ert-form-evaluation-aborted-138) nil (list :value value-137)) (if (eql value-137 'ert-form-evaluation-aborted-138) nil (let* ((-explainer- (and t (ert--get-explainer 'eshell-match-output)))) (if -explainer- (list :explanation (apply -explainer- args-136)) nil))))) (ert--signal-should-execution form-description-139)) nil (ert-fail form-description-139))) value-137))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "sleep")) :value "/bin/sleep") ((should (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")) :form (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n") :value 0 :explanation (mismatched-output (command "sh -c 'while true; do sleep 1; done' &\n") (output "[sh] 20225\n") (regexp "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")))) :duration 0.011147818) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/kill-process/foreground-only :documentation "Test that `eshell-kill-process' only kills foreground processes." :body (closure (t) nil (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command "sleep 100 &") (eshell-insert-command "sleep 100") (let* ((fn-118 #'equal) (args-119 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (length eshell-process-list) 2)) (error (progn (setq fn-118 #'signal) (list (car err) (cdr err))))))) (let ((value-120 'ert-form-evaluation-aborted-121)) (let (form-description-122) (if (unwind-protect (setq value-120 (apply fn-118 args-119)) (setq form-description-122 (nconc (list '(should (equal (length eshell-process-list) 2))) (list :form (cons fn-118 args-119)) (if (eql value-120 'ert-form-evaluation-aborted-121) nil (list :value value-120)) (if (eql value-120 'ert-form-evaluation-aborted-121) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-119)) nil))))) (ert--signal-should-execution form-description-122)) nil (ert-fail form-description-122))) value-120)) (eshell-kill-process) (eshell-wait-for-subprocess) (let* ((fn-123 #'equal) (args-124 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (length eshell-process-list) 1)) (error (progn (setq fn-123 #'signal) (list (car err) (cdr err))))))) (let ((value-125 'ert-form-evaluation-aborted-126)) (let (form-description-127) (if (unwind-protect (setq value-125 (apply fn-123 args-124)) (setq form-description-127 (nconc (list '(should (equal (length eshell-process-list) 1))) (list :form (cons fn-123 args-124)) (if (eql value-125 'ert-form-evaluation-aborted-126) nil (list :value value-125)) (if (eql value-125 'ert-form-evaluation-aborted-126) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-124)) nil))))) (ert--signal-should-execution form-description-127)) nil (ert-fail form-description-127))) value-125)) (eshell-process-interact 'kill-process t) (eshell-wait-for-subprocess t) (let* ((fn-128 #'equal) (args-129 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (length eshell-process-list) 0)) (error (progn (setq fn-128 #'signal) (list (car err) (cdr err))))))) (let ((value-130 'ert-form-evaluation-aborted-131)) (let (form-description-132) (if (unwind-protect (setq value-130 (apply fn-128 args-129)) (setq form-description-132 (nconc (list '(should (equal (length eshell-process-list) 0))) (list :form (cons fn-128 args-129)) (if (eql value-130 'ert-form-evaluation-aborted-131) nil (list :value value-130)) (if (eql value-130 'ert-form-evaluation-aborted-131) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-129)) nil))))) (ert--signal-should-execution form-description-132)) nil (ert-fail form-description-132))) value-130))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "[sleep]+ Done (/bin/sleep 100)\n" :should-forms (((should (equal (length eshell-process-list) 2)) :form (equal 2 2) :value t :explanation nil) ((should (equal (length eshell-process-list) 1)) :form (equal 1 1) :value t :explanation nil) ((should (equal (length eshell-process-list) 0)) :form (equal 0 0) :value t :explanation nil)) :duration 0.139145891) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/stderr-to-buffer :documentation "Check that redirecting only stderr works." :body (closure (t) nil (let* ((fn-25 #'executable-find) (args-26 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-25 #'signal) (list (car err) (cdr err))))))) (let ((value-27 'ert-form-evaluation-aborted-28)) (let (form-description-29) (if (condition-case nil (progn (unwind-protect (setq value-27 (apply fn-25 args-26)) (setq form-description-29 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-25 args-26)) (if (eql value-27 'ert-form-evaluation-aborted-28) nil (list :value value-27)) (if (eql value-27 'ert-form-evaluation-aborted-28) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-26)) nil))))) (ert--signal-should-execution form-description-29))) (error nil)) nil (ert-skip form-description-29))) value-27)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "%s 2> #<%s>" esh-proc-test--output-cmd bufname) "stdout\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-30 #'equal) (args-31 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "stderr\n")) (error (progn (setq fn-30 #'signal) (list (car err) (cdr err))))))) (let ((value-32 'ert-form-evaluation-aborted-33)) (let (form-description-34) (if (unwind-protect (setq value-32 (apply fn-30 args-31)) (setq form-description-34 (nconc (list '(should (equal (buffer-string) "stderr\n"))) (list :form (cons fn-30 args-31)) (if (eql value-32 'ert-form-evaluation-aborted-33) nil (list :value value-32)) (if (eql value-32 'ert-form-evaluation-aborted-33) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-31)) nil))))) (ert--signal-should-execution form-description-34)) nil (ert-fail form-description-34))) value-32)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' 2> #\n") (output "stdout\n") (regexp "stdout\n"))) ((should (equal (buffer-string) "stderr\n")) :form (equal "stderr\n" "stderr\n") :value t :explanation nil)) :duration 0.129330153) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/stdout-and-stderr-to-buffer :documentation "Check that redirecting stdout and stderr works." :body (closure (t) nil (let* ((fn-35 #'executable-find) (args-36 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-35 #'signal) (list (car err) (cdr err))))))) (let ((value-37 'ert-form-evaluation-aborted-38)) (let (form-description-39) (if (condition-case nil (progn (unwind-protect (setq value-37 (apply fn-35 args-36)) (setq form-description-39 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-35 args-36)) (if (eql value-37 'ert-form-evaluation-aborted-38) nil (list :value value-37)) (if (eql value-37 'ert-form-evaluation-aborted-38) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-36)) nil))))) (ert--signal-should-execution form-description-39))) (error nil)) nil (ert-skip form-description-39))) value-37)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "%s &> #<%s>" esh-proc-test--output-cmd bufname) "\\`\\'")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-40 #'equal) (args-41 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "stdout\nstderr\n")) (error (progn (setq fn-40 #'signal) (list (car err) (cdr err))))))) (let ((value-42 'ert-form-evaluation-aborted-43)) (let (form-description-44) (if (unwind-protect (setq value-42 (apply fn-40 args-41)) (setq form-description-44 (nconc (list '(should (equal (buffer-string) "stdout\nstderr\n"))) (list :form (cons fn-40 args-41)) (if (eql value-42 'ert-form-evaluation-aborted-43) nil (list :value value-42)) (if (eql value-42 'ert-form-evaluation-aborted-43) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-41)) nil))))) (ert--signal-should-execution form-description-44)) nil (ert-fail form-description-44))) value-42)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "\\`\\'") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' &> #\n") (output "") (regexp "\\`\\'"))) ((should (equal (buffer-string) "stdout\nstderr\n")) :form (equal "stdout\nstderr\n" "stdout\nstderr\n") :value t :explanation nil)) :duration 0.110731251) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/stdout-to-buffer :documentation "Check that redirecting only stdout works." :body (closure (t) nil (let* ((fn-15 #'executable-find) (args-16 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-15 #'signal) (list (car err) (cdr err))))))) (let ((value-17 'ert-form-evaluation-aborted-18)) (let (form-description-19) (if (condition-case nil (progn (unwind-protect (setq value-17 (apply fn-15 args-16)) (setq form-description-19 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-15 args-16)) (if (eql value-17 'ert-form-evaluation-aborted-18) nil (list :value value-17)) (if (eql value-17 'ert-form-evaluation-aborted-18) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-16)) nil))))) (ert--signal-should-execution form-description-19))) (error nil)) nil (ert-skip form-description-19))) value-17)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "%s > #<%s>" esh-proc-test--output-cmd bufname) "stderr\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-20 #'equal) (args-21 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "stdout\n")) (error (progn (setq fn-20 #'signal) (list (car err) (cdr err))))))) (let ((value-22 'ert-form-evaluation-aborted-23)) (let (form-description-24) (if (unwind-protect (setq value-22 (apply fn-20 args-21)) (setq form-description-24 (nconc (list '(should (equal (buffer-string) "stdout\n"))) (list :form (cons fn-20 args-21)) (if (eql value-22 'ert-form-evaluation-aborted-23) nil (list :value value-22)) (if (eql value-22 'ert-form-evaluation-aborted-23) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-21)) nil))))) (ert--signal-should-execution form-description-24)) nil (ert-fail form-description-24))) value-22)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' > #\n") (output "stderr\n") (regexp "stderr\n"))) ((should (equal (buffer-string) "stdout\n")) :form (equal "stdout\n" "stdout\n") :value t :explanation nil)) :duration 0.133453581) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/output/to-screen :documentation "Check that outputting stdout and stderr to the screen works." :body (closure (t) nil (let* ((fn-10 #'executable-find) (args-11 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-10 #'signal) (list (car err) (cdr err))))))) (let ((value-12 'ert-form-evaluation-aborted-13)) (let (form-description-14) (if (condition-case nil (progn (unwind-protect (setq value-12 (apply fn-10 args-11)) (setq form-description-14 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-10 args-11)) (if (eql value-12 'ert-form-evaluation-aborted-13) nil (list :value value-12)) (if (eql value-12 'ert-form-evaluation-aborted-13) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-11)) nil))))) (ert--signal-should-execution form-description-14))) (error nil)) nil (ert-skip form-description-14))) value-12)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output esh-proc-test--output-cmd "stdout\nstderr\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\nstderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2'\n") (output "stdout\nstderr\n") (regexp "stdout\nstderr\n")))) :duration 0.11707101) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/first :documentation "Test that only stdin is a PTY when a command starts a pipeline." :body (closure (t) nil (let ((value-109 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-110) (if (condition-case nil (progn (unwind-protect (setq value-109 (and (executable-find "sh") (executable-find "cat"))) (setq form-description-110 (list '(skip-unless (and (executable-find "sh") (executable-find "cat"))) :form '(and (executable-find "sh") (executable-find "cat")) :value value-109)) (ert--signal-should-execution form-description-110))) (error nil)) nil (ert-skip form-description-110))) value-109) (eshell-command-result-equal (concat esh-proc-test--detect-pty-cmd " | cat") (if (eq system-type 'windows-nt) nil "stdin\n")) nil) :most-recent-result #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "cat"))) :form (and (executable-find "sh") (executable-find "cat")) :value "/bin/cat") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat" "stdin\n" "stdin\n") :value t :explanation (nonequal-result (command "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat") (result "stdin\n") (expected "stdin\n")))) :duration 0.082199955) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/last :documentation "Test that only output streams are PTYs when a command ends a pipeline." :body (closure (t) nil (let* ((fn-113 #'executable-find) (args-114 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-113 #'signal) (list (car err) (cdr err))))))) (let ((value-115 'ert-form-evaluation-aborted-116)) (let (form-description-117) (if (condition-case nil (progn (unwind-protect (setq value-115 (apply fn-113 args-114)) (setq form-description-117 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-113 args-114)) (if (eql value-115 'ert-form-evaluation-aborted-116) nil (list :value value-115)) (if (eql value-115 'ert-form-evaluation-aborted-116) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-114)) nil))))) (ert--signal-should-execution form-description-117))) (error nil)) nil (ert-skip form-description-117))) value-115)) (let ((debug-on-error nil)) (eshell-command-result-equal (concat "echo hi | " esh-proc-test--detect-pty-cmd) (if (eq system-type 'windows-nt) nil "stdout\nstderr\n"))) nil) :most-recent-result #s(ert-test-aborted-with-non-local-exit :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'" nil "stdout\nstderr\n") :value nil :explanation (nonequal-result (command "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'") (result nil) (expected "stdout\nstderr\n")))) :duration 0.017949867) :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/middle :documentation "Test that all streams are pipes when a command is in the middle of a\npipeline." :body (closure (t) nil (let ((value-111 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-112) (if (condition-case nil (progn (unwind-protect (setq value-111 (and (executable-find "sh") (executable-find "cat"))) (setq form-description-112 (list '(skip-unless (and (executable-find "sh") (executable-find "cat"))) :form '(and (executable-find "sh") (executable-find "cat")) :value value-111)) (ert--signal-should-execution form-description-112))) (error nil)) nil (ert-skip form-description-112))) value-111) (let ((debug-on-error nil)) (eshell-command-result-equal (concat "echo hi | " esh-proc-test--detect-pty-cmd " | cat") nil)) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/pipeline-connection-type/no-pipeline :documentation "Test that all streams are PTYs when a command is not in a pipeline." :body (closure (t) nil (let* ((fn-104 #'executable-find) (args-105 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "sh")) (error (progn (setq fn-104 #'signal) (list (car err) (cdr err))))))) (let ((value-106 'ert-form-evaluation-aborted-107)) (let (form-description-108) (if (condition-case nil (progn (unwind-protect (setq value-106 (apply fn-104 args-105)) (setq form-description-108 (nconc (list '(skip-unless (executable-find "sh"))) (list :form (cons fn-104 args-105)) (if (eql value-106 'ert-form-evaluation-aborted-107) nil (list :value value-106)) (if (eql value-106 'ert-form-evaluation-aborted-107) nil (let* ((-explainer- (and t (ert--get-explainer 'executable-find)))) (if -explainer- (list :explanation (apply -explainer- args-105)) nil))))) (ert--signal-should-execution form-description-108))) (error nil)) nil (ert-skip form-description-108))) value-106)) (eshell-command-result-equal esh-proc-test--detect-pty-cmd (if (eq system-type 'windows-nt) nil "stdin\nstdout\nstderr\n")) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/sigpipe-exits-process :documentation "Test that a SIGPIPE is properly sent to a process if a pipe closes" :body (closure (t) nil (let ((value-97 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-98) (if (condition-case nil (progn (unwind-protect (setq value-97 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-98 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-97)) (ert--signal-should-execution form-description-98))) (error nil)) nil (ert-skip form-description-98))) value-97) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (concat "sh -c 'while true; do echo y; sleep 1; done' |& " "sh -c 'read NAME; echo ${NAME}'") "y\n") (eshell-wait-for-subprocess t) (let* ((fn-99 #'eq) (args-100 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (process-list) nil)) (error (progn (setq fn-99 #'signal) (list (car err) (cdr err))))))) (let ((value-101 'ert-form-evaluation-aborted-102)) (let (form-description-103) (if (unwind-protect (setq value-101 (apply fn-99 args-100)) (setq form-description-103 (nconc (list '(should (eq (process-list) nil))) (list :form (cons fn-99 args-100)) (if (eql value-101 'ert-form-evaluation-aborted-102) nil (list :value value-101)) (if (eql value-101 'ert-form-evaluation-aborted-102) nil (let* ((-explainer- (and t (ert--get-explainer 'eq)))) (if -explainer- (list :explanation (apply -explainer- args-100)) nil))))) (ert--signal-should-execution form-description-103)) nil (ert-fail form-description-103))) value-101))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/pipeline/command-result :documentation "Test that synchronous pipelines work via `eshell-command-result'." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (eshell-command-result-equal (concat esh-proc-test/emacs-echo " | " esh-proc-test/emacs-upcase) "HELLO\n")) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/pipeline/interactive :documentation "Test that synchronous pipelines work in an interactive shell." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (concat esh-proc-test/emacs-echo " | " esh-proc-test/emacs-upcase) "\\`HELLO\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil)))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/simple/command-result :documentation "Test that synchronous processes work via `eshell-command-result'." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (eshell-command-result-equal esh-proc-test/emacs-echo "hello\n")) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-proc-test/synchronous-proc/simple/interactive :documentation "Test that synchronous processes work in an interactive shell." :body (closure (t) nil (let ((eshell-supports-asynchronous-processes nil)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output esh-proc-test/emacs-echo "\\`hello\n")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil)))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #s(ert-test :name esh-var-test/output/remote-redirect :documentation "Check that redirecting stdout for a remote process works." :body (closure (t) nil (let ((value-45 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-46) (if (condition-case nil (progn (unwind-protect (setq value-45 (and (eshell-tests-remote-accessible-p) (executable-find "echo"))) (setq form-description-46 (list '(skip-unless (and (eshell-tests-remote-accessible-p) (executable-find "echo"))) :form '(and (eshell-tests-remote-accessible-p) (executable-find "echo")) :value value-45)) (ert--signal-should-execution form-description-46))) (error nil)) nil (ert-skip form-description-46))) value-45) (let ((default-directory ert-remote-temporary-file-directory)) (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert "old") (rename-buffer "eshell-temp-buffer" t) (let ((bufname (buffer-name))) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-match-command-output (format "*echo hello > #<%s>" bufname) "\\`\\'")) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) (let* ((fn-47 #'equal) (args-48 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (buffer-string) "hello\n")) (error (progn (setq fn-47 #'signal) (list (car err) (cdr err))))))) (let ((value-49 'ert-form-evaluation-aborted-50)) (let (form-description-51) (if (unwind-protect (setq value-49 (apply fn-47 args-48)) (setq form-description-51 (nconc (list '(should (equal (buffer-string) "hello\n"))) (list :form (cons fn-47 args-48)) (if (eql value-49 'ert-form-evaluation-aborted-50) nil (list :value value-49)) (if (eql value-49 'ert-form-evaluation-aborted-50) nil (let* ((-explainer- (and t (ert--get-explainer 'equal)))) (if -explainer- (list :explanation (apply -explainer- args-48)) nil))))) (ert--signal-should-execution form-description-51)) nil (ert-fail form-description-51))) value-49)))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))) nil) :most-recent-result nil :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el")] :test-map # :test-results [#s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.255976072) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 0)) :form (= 0 0) :value t) ((should (eq eshell-last-command-result t)) :form (eq t t) :value t)) :duration 0.113332953) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (= eshell-last-command-status 1)) :form (= 1 1) :value t) ((should (eq eshell-last-command-result nil)) :form (eq nil nil) :value t)) :duration 0.12511139) #s(ert-test-skipped :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :duration 0.000823301 :condition (ert-test-skipped ((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :backtrace (#s(backtrace-frame :evald t :fun signal :args (ert-test-skipped (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil))) :flags nil :locals ((debugger-may-continue . t) (inhibit-redisplay) (inhibit-debugger . t) (inhibit-changing-match-data)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-skip :args (((skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun if :args ((condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args ((form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144) (form-description-146 (skip-unless (not (getenv "EMACS_EMBA_CI"))) :form (not "1") :value nil)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let :args (((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144) :flags nil :locals ((fn-142 . not) (args-143 "1") (value-144)) :buffer nil :pos nil) #s(backtrace-frame :evald nil :fun let* :args (((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) :flags nil :locals ((fn-142 . not) (args-143 "1")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert--run-test-internal :args (#s(ert--test-execution-info :test #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") :result #2 :exit-continuation #f(compiled-function () #) :next-debugger debug :ert-debug-on-error nil)) :flags nil :locals ((ert--infos) (debug-ignored-errors) (debug-on-quit . t) (backtrace-on-error-noninteractive) (debug-on-error . t) (debugger . #f(compiled-function (&rest args) #)) (lexical-binding . t)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-test :args (#s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el")) :flags nil :locals ((ert--running-tests #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el")) (message-log-max . t) (ert--should-execution-observer . #f(compiled-function (form-description) #))) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-or-rerun-test :args (#0 #s(ert-test :name esh-proc-test/kill-pipeline :documentation "Test that killing a pipeline of processes only emits a single\nprompt. See bug#54136." :body (closure (t) nil (let ((value-140 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-141) (if (condition-case nil (progn (unwind-protect (setq value-140 (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) (setq form-description-141 (list '(skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form '(and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value value-140)) (ert--signal-should-execution form-description-141))) (error nil)) nil (ert-skip form-description-141))) value-140) (let* ((fn-142 #'not) (args-143 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list (getenv "EMACS_EMBA_CI"))) (error (progn (setq fn-142 #'signal) (list (car err) (cdr err))))))) (let ((value-144 'ert-form-evaluation-aborted-145)) (let (form-description-146) (if (condition-case nil (progn (unwind-protect (setq value-144 (apply fn-142 args-143)) (setq form-description-146 (nconc (list '(skip-unless (not (getenv "EMACS_EMBA_CI")))) (list :form (cons fn-142 args-143)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (list :value value-144)) (if (eql value-144 'ert-form-evaluation-aborted-145) nil (let* ((-explainer- (and t (ert--get-explainer 'not)))) (if -explainer- (list :explanation (apply -explainer- args-143)) nil))))) (ert--signal-should-execution form-description-146))) (error nil)) nil (ert-skip form-description-146))) value-144)) (save-current-buffer (let* ((coding-system-for-write nil) (temp-file (file-name-as-directory (make-temp-file "emacs-test-" t "-esh-proc" nil))) (eshell-directory-name (file-name-as-directory temp-file))) (unwind-protect (progn (let* ((process-environment (cons "HISTFILE" process-environment)) (eshell-history-file-name nil) (eshell-last-dir-ring-file-name nil) (eshell-buffer (eshell t))) (unwind-protect (save-current-buffer (set-buffer eshell-buffer) (eshell-insert-command (concat "sh -c 'while true; do echo y; sleep 1; done' | " "sh -c 'while true; do read NAME; done'")) (let ((output-start (eshell-beginning-of-output))) (eshell-kill-process) (eshell-wait-for-subprocess t) (let* ((fn-147 #'string-match-p) (args-148 (condition-case err (let ((signal-hook-function #'ert--should-signal-hook)) (list "\\(?:\\(?:interrupt\\|killed\\(?:: 9\\)?\\)\n\\)" (buffer-substring-no-properties output-start (eshell-end-of-output)))) (error (progn (setq fn-147 #'signal) (list (car err) (cdr err))))))) (let ((value-149 'ert-form-evaluation-aborted-150)) (let (form-description-151) (if (unwind-protect (setq value-149 (apply fn-147 args-148)) (setq form-description-151 (nconc (list '(should (string-match-p (rx (or "interrupt\n" "killed\n" "killed: 9\n")) (buffer-substring-no-properties output-start (eshell-end-of-output))))) (list :form (cons fn-147 args-148)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (list :value value-149)) (if (eql value-149 'ert-form-evaluation-aborted-150) nil (let* ((-explainer- (and t (ert--get-explainer 'string-match-p)))) (if -explainer- (list :explanation (apply -explainer- args-148)) nil))))) (ert--signal-should-execution form-description-151)) nil (ert-fail form-description-151))) value-149)))) (let (kill-buffer-query-functions) (kill-buffer eshell-buffer))))) (condition-case nil (progn) (error nil)) (condition-case nil (progn (delete-directory temp-file :recursive)) (error nil))))) nil) :most-recent-result #2 :expected-result-type :passed :tags nil :file-name "/checkout/test/lisp/eshell/esh-proc-tests.el") #f(compiled-function (event-type &rest event-args) #)) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests :args ((not (or (tag :unstable) (tag :nativecomp))) #f(compiled-function (event-type &rest event-args) #) nil) :flags nil :locals ((ert--current-run-stats . #0)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch-and-exit :args ((not (or (tag :unstable) (tag :nativecomp)))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun eval :args ((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :nativecomp)))) t) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line-1 :args (("-L" ":." "-l" "ert" "-l" "lisp/eshell/esh-proc-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (or (tag :unstable) (tag :nativecomp)))))")) :flags nil :locals ((command-line-args-left) (argi . "-eval")) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun normal-top-level :args nil :flags nil :locals nil :buffer nil :pos nil)) :infos nil) #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "echo") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "echo") (executable-find "sleep")) :value "/bin/sleep") ((should (equal (buffer-substring-no-properties output-start (eshell-end-of-output)) "")) :form (equal "" "") :value t :explanation nil)) :duration 0.12468589) #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "sleep"))) :form (and (executable-find "sh") (executable-find "sleep")) :value "/bin/sleep") ((should (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")) :form (eshell-match-output "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n") :value 0 :explanation (mismatched-output (command "sh -c 'while true; do sleep 1; done' &\n") (output "[sh] 20225\n") (regexp "\\[sh\\(\\.exe\\)?\\] [[:digit:]]+\n")))) :duration 0.011147818) #s(ert-test-passed :messages "[sleep]+ Done (/bin/sleep 100)\n" :should-forms (((should (equal (length eshell-process-list) 2)) :form (equal 2 2) :value t :explanation nil) ((should (equal (length eshell-process-list) 1)) :form (equal 1 1) :value t :explanation nil) ((should (equal (length eshell-process-list) 0)) :form (equal 0 0) :value t :explanation nil)) :duration 0.139145891) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' 2> #\n") (output "stdout\n") (regexp "stdout\n"))) ((should (equal (buffer-string) "stderr\n")) :form (equal "stderr\n" "stderr\n") :value t :explanation nil)) :duration 0.129330153) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "\\`\\'") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' &> #\n") (output "") (regexp "\\`\\'"))) ((should (equal (buffer-string) "stdout\nstderr\n")) :form (equal "stdout\nstderr\n" "stdout\nstderr\n") :value t :explanation nil)) :duration 0.110731251) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2' > #\n") (output "stderr\n") (regexp "stderr\n"))) ((should (equal (buffer-string) "stdout\n")) :form (equal "stdout\n" "stdout\n") :value t :explanation nil)) :duration 0.133453581) #s(ert-test-passed :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-match-output regexp)) :form (eshell-match-output "stdout\nstderr\n") :value 0 :explanation (mismatched-output (command "sh -c 'echo stdout; echo stderr >&2'\n") (output "stdout\nstderr\n") (regexp "stdout\nstderr\n")))) :duration 0.11707101) #s(ert-test-passed :messages "" :should-forms (((skip-unless (and (executable-find "sh") (executable-find "cat"))) :form (and (executable-find "sh") (executable-find "cat")) :value "/bin/cat") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat" "stdin\n" "stdin\n") :value t :explanation (nonequal-result (command "sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi' | cat") (result "stdin\n") (expected "stdin\n")))) :duration 0.082199955) #s(ert-test-aborted-with-non-local-exit :messages "" :should-forms (((skip-unless (executable-find "sh")) :form (executable-find "sh") :value "/bin/sh") ((should (eshell-command-result--equal command (eshell-test-command-result command) result)) :form (eshell-command-result--equal "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'" nil "stdout\nstderr\n") :value nil :explanation (nonequal-result (command "echo hi | sh -c 'if [ -t 0 ]; then echo stdin; fi; if [ -t 1 ]; then echo stdout; fi; if [ -t 2 ]; then echo stderr; fi'") (result nil) (expected "stdout\nstderr\n")))) :duration 0.017949867) nil nil nil nil nil nil nil nil] :test-start-times [(25835 24311 603318 259000) (25835 24311 859480 481000) (25835 24311 973026 192000) (25835 24312 98329 706000) (25835 24312 99266 651000) (25835 24312 224207 522000) (25835 24312 235503 367000) (25835 24312 374798 709000) (25835 24312 504353 631000) (25835 24312 615391 514000) (25835 24312 749116 296000) (25835 24312 866400 655000) (25835 24312 948813 640000) nil nil nil nil nil nil nil nil] :test-end-times [(25835 24311 859294 331000) (25835 24311 972813 434000) (25835 24312 98137 582000) (25835 24312 99153 7000) (25835 24312 223952 541000) (25835 24312 235355 340000) (25835 24312 374649 258000) (25835 24312 504128 862000) (25835 24312 615084 882000) (25835 24312 748845 95000) (25835 24312 866187 306000) (25835 24312 948600 610000) (25835 24312 966763 507000) nil nil nil nil nil nil nil nil] :passed-expected 11 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 0 :skipped 1 :start-time (25835 24311 603066 948000) :end-time (25835 24313 102851 991000) :aborted-p t :current-test nil :next-redisplay 0.0) t) #f(compile Error running tests d-function () #)() ert-run-tests((not (or (tag :unstable) (tag :nativecomp))) #f(compiled-function (event-type &rest event-args) #) nil) ert-run-tests-batch((not (or (tag :unstable) (tag :nativecomp)))) ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativecomp)))) eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :nativecomp)))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/eshell/esh-proc-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (or (tag :unstable) (tag :nativecomp)))))")) command-line() normal-top-level() backtrace() #f(compiled-function () #)() ert-run-tests-batch-and-exit((not (or (tag :unstable) (tag :nativecomp)))) eval((ert-run-tests-batch-and-exit '(not (or (tag :unstable) (tag :nativecomp)))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/eshell/esh-proc-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (or (tag...")) command-line() normal-top-level() ----- 2 files contained unexpected results: lisp/eshell/eshell-tests.log lisp/eshell/esh-cmd-tests.log DETAILS ------- src/xml-tests.log: SKIPPED libxml-tests ((skip-unless (fboundp 'libxml-parse-xml-region)) :form (fboundp libxml-parse-xml-region) :value nil) src/treesit-tests.log: SKIPPED treesit-basic-parsing ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-cross-boundary ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-cursor-helper-with-missing-node ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-defun-navigation-nested-1 ((skip-unless (treesit-language-available-p 'python)) :form (treesit-language-available-p python)) SKIPPED treesit-defun-navigation-nested-2 ((skip-unless (treesit-language-available-p 'javascript)) :form (treesit-language-available-p javascript)) SKIPPED treesit-defun-navigation-nested-3 ((skip-unless (treesit-language-available-p 'bash)) :form (treesit-language-available-p bash)) SKIPPED treesit-defun-navigation-nested-4 ((skip-unless (treesit-language-available-p 'elixir)) :form (treesit-language-available-p elixir)) SKIPPED treesit-defun-navigation-top-level ((skip-unless (treesit-language-available-p 'python)) :form (treesit-language-available-p python)) SKIPPED treesit-indirect-buffer ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-multi-lang ((skip-unless (and (treesit-language-available-p 'html) (treesit-language-available-p 'css) (treesit-language-available-p 'javascript))) :form (and (treesit-language-available-p 'html) (treesit-language-available-p 'css) (treesit-language-available-p 'javascript)) :value ert-form-evaluation-aborted-651) SKIPPED treesit-narrow ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-node-api ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-node-at ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-node-check ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-node-supplemental ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-parser-supplemental ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-query-api ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-range ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-search-backward ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-search-backward-named-only ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-search-forward ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-search-forward-named-only ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-search-forward-predicate ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-search-forward-predicate-invalid-predicate ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) SKIPPED treesit-search-subtree ((skip-unless (treesit-language-available-p 'json)) :form (treesit-language-available-p json)) src/sqlite-tests.log: SKIPPED sqlite-binary ((skip-unless (sqlite-available-p)) :form (sqlite-available-p) :value nil) SKIPPED sqlite-blob ((skip-unless (sqlite-available-p)) :form (sqlite-available-p) :value nil) SKIPPED sqlite-chars ((skip-unless (sqlite-available-p)) :form (sqlite-available-p) :value nil) SKIPPED sqlite-close-dbs ((skip-unless (sqlite-available-p)) :form (sqlite-available-p) :value nil) SKIPPED sqlite-different-dbs ((skip-unless (sqlite-available-p)) :form (sqlite-available-p) :value nil) SKIPPED sqlite-load-extension ((skip-unless (sqlite-available-p)) :form (sqlite-available-p) :value nil) SKIPPED sqlite-numbers ((skip-unless (sqlite-available-p)) :form (sqlite-available-p) :value nil) SKIPPED sqlite-param ((skip-unless (sqlite-available-p)) :form (sqlite-available-p) :value nil) SKIPPED sqlite-returning ((skip-unless (sqlite-available-p)) :form (sqlite-available-p) :value nil) SKIPPED sqlite-select ((skip-unless (sqlite-available-p)) :form (sqlite-available-p) :value nil) SKIPPED sqlite-set ((skip-unless (sqlite-available-p)) :form (sqlite-available-p) :value nil) src/process-tests.log: SKIPPED lookup-family-specification ((skip-unless internet-is-working) :form internet-is-working :value nil) SKIPPED lookup-google ((skip-unless internet-is-working) :form internet-is-working :value nil) SKIPPED lookup-unicode-domains ((skip-unless internet-is-working) :form internet-is-working :value nil) SKIPPED make-process-w32-debug-spawn-error ((skip-unless (eq system-type 'windows-nt)) :form (eq gnu/linux windows-nt) :value nil) SKIPPED non-existent-lookup-failure ((skip-unless internet-is-working) :form internet-is-working :value nil) SKIPPED process-sentinel-interrupt-event ((skip-unless (eq system-type 'windows-nt)) :form (eq gnu/linux windows-nt) :value nil) SKIPPED unibyte-domain-name ((skip-unless internet-is-working) :form internet-is-working :value nil) src/lcms-tests.log: SKIPPED lcms-ciecam02-gold ((skip-unless (featurep 'lcms2)) :form (featurep lcms2) :value nil) SKIPPED lcms-cri-cam02-ucs ((skip-unless (featurep 'lcms2)) :form (featurep lcms2) :value nil) SKIPPED lcms-dE-cam02-ucs-silver ((skip-unless (featurep 'lcms2)) :form (featurep lcms2) :value nil) SKIPPED lcms-jmh->cam02-ucs-silver ((skip-unless (featurep 'lcms2)) :form (featurep lcms2) :value nil) SKIPPED lcms-roundtrip ((skip-unless (featurep 'lcms2)) :form (featurep lcms2) :value nil) SKIPPED lcms-whitepoint ((skip-unless (featurep 'lcms2)) :form (featurep lcms2) :value nil) src/json-tests.log: SKIPPED json-insert/signal ((skip-unless (fboundp 'json-insert)) :form (fboundp json-insert) :value nil) SKIPPED json-insert/throw ((skip-unless (fboundp 'json-insert)) :form (fboundp json-insert) :value nil) SKIPPED json-parse-buffer/incomplete ((skip-unless (fboundp 'json-parse-buffer)) :form (fboundp json-parse-buffer) :value nil) SKIPPED json-parse-buffer/trailing ((skip-unless (fboundp 'json-parse-buffer)) :form (fboundp json-parse-buffer) :value nil) SKIPPED json-parse-string/array ((skip-unless (fboundp 'json-parse-string)) :form (fboundp json-parse-string) :value nil) SKIPPED json-parse-string/incomplete ((skip-unless (fboundp 'json-parse-string)) :form (fboundp json-parse-string) :value nil) SKIPPED json-parse-string/invalid-unicode ((skip-unless (fboundp 'json-parse-string)) :form (fboundp json-parse-string) :value nil) SKIPPED json-parse-string/null ((skip-unless (fboundp 'json-parse-string)) :form (fboundp json-parse-string) :value nil) SKIPPED json-parse-string/object ((skip-unless (fboundp 'json-parse-string)) :form (fboundp json-parse-string) :value nil) SKIPPED json-parse-string/string ((skip-unless (fboundp 'json-parse-string)) :form (fboundp json-parse-string) :value nil) SKIPPED json-parse-string/trailing ((skip-unless (fboundp 'json-parse-string)) :form (fboundp json-parse-string) :value nil) SKIPPED json-parse-string/wrong-type ((skip-unless (fboundp 'json-parse-string)) :form (fboundp json-parse-string) :value nil) SKIPPED json-parse-with-custom-null-and-false-objects ((skip-unless (and (fboundp 'json-serialize) (fboundp 'json-parse-string))) :form (and (fboundp 'json-serialize) (fboundp 'json-parse-string)) :value nil) SKIPPED json-serialize/bignum ((skip-unless (fboundp 'json-serialize)) :form (fboundp json-serialize) :value nil) SKIPPED json-serialize/invalid-unicode ((skip-unless (fboundp 'json-serialize)) :form (fboundp json-serialize) :value nil) SKIPPED json-serialize/object ((skip-unless (fboundp 'json-serialize)) :form (fboundp json-serialize) :value nil) SKIPPED json-serialize/object-with-duplicate-keys ((skip-unless (fboundp 'json-serialize)) :form (fboundp json-serialize) :value nil) SKIPPED json-serialize/roundtrip ((skip-unless (fboundp 'json-serialize)) :form (fboundp json-serialize) :value nil) SKIPPED json-serialize/roundtrip-scalars ((skip-unless (fboundp 'json-serialize)) :form (fboundp json-serialize) :value nil) SKIPPED json-serialize/string ((skip-unless (fboundp 'json-serialize)) :form (fboundp json-serialize) :value nil) SKIPPED json-serialize/wrong-hash-key-type ((skip-unless (fboundp 'json-serialize)) :form (fboundp json-serialize) :value nil) src/image-tests.log: SKIPPED image-tests-imagemagick-types ((skip-unless (fboundp 'imagemagick-types)) :form (fboundp imagemagick-types) :value nil) SKIPPED image-tests-init-image-library ((skip-unless (fboundp 'init-image-library)) :form (fboundp init-image-library) :value nil) src/fns-tests.section_end:1693151163:build_script section_start:1693151164:after_script Running after script... $ test -n "$(docker ps -aq -f name=${test_name})" && docker cp ${test_name}:checkout/test ${test_name} $ test -n "$(docker ps -aq -f name=${test_name})" && docker rm ${test_name} test-all-inotify-c122cc83 $ find ${test_name} ! \( -name "*.log" -o -name ${EMACS_TEST_JUNIT_REPORT} \) -type f -delete $ find ${test_name} -type d -depth -exec rmdir {} + 2>/dev/null section_end:1693151238:after_script section_start:1693151238:upload_artifacts_on_failure Uploading artifacts... test-all-inotify-c122cc83/: found 527 matching files Uploading artifacts to coordinator... ok  id=73099 responseStatus=201 Created token=3TmCs7n7 Uploading artifacts... test-all-inotify-c122cc83/junit-test-report.xml: found 1 matching files Uploading artifacts to coordinator... ok  id=73099 responseStatus=201 Created token=3TmCs7n7 section_end:1693151246:upload_artifacts_on_failure ERROR: Job failed: exit code 2