emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master 8dcb19f 4/4: Add a unit test testing interaction between thre


From: Philipp Stephani
Subject: Re: master 8dcb19f 4/4: Add a unit test testing interaction between threads and processes.
Date: Sat, 23 Jan 2021 21:34:28 +0100

Am Sa., 23. Jan. 2021 um 20:49 Uhr schrieb Eli Zaretskii <eliz@gnu.org>:
>
> This additional test fails on MS-Windows:
>
>   Test process-tests/multiple-threads-waiting backtrace:
>     signal(ert-test-failed (((should (eql (process-exit-status process)
>     ert-fail(((should (eql (process-exit-status process) 0)) :form (eql
>     (if (unwind-protect (setq value-344 (apply fn-342 args-343)) (setq f
>     (let (form-description-346) (if (unwind-protect (setq value-344 (app
>     (let ((value-344 'ert-form-evaluation-aborted-345)) (let (form-descr
>     (let* ((fn-342 #'eql) (args-343 (condition-case err (let ((signal-ho
>     (while (and (consp --cl-var--) (consp --cl-var--)) (progn (setq proc
>     (let ((--cl-var-- processes) (process nil) (--cl-var-- threads) (thr
>     (let ((threads nil) (cat (executable-find "cat"))) (let ((value-335
>     (unwind-protect (let ((threads nil) (cat (executable-find "cat"))) (
>     (let ((processes nil)) (unwind-protect (let ((threads nil) (cat (exe
>     (progn (let ((processes nil)) (unwind-protect (let ((threads nil) (c
>     (unwind-protect (progn (let ((processes nil)) (unwind-protect (let (
>     (let* ((-with-timeout-timer- (run-with-timer 60 nil #'(lambda nil (t
>     (catch 'timeout (let* ((-with-timeout-timer- (run-with-timer 60 nil
>     (let ((-with-timeout-value- (catch 'timeout (let* ((-with-timeout-ti
>     (closure (t) nil (let* ((fn-330 #'fboundp) (args-331 (condition-case
>     ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
>     ert-run-test(#s(ert-test :name process-tests/multiple-threads-waitin
>     ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
>     ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type
>     ert-run-tests-batch((not (tag :unstable)))
>     ert-run-tests-batch-and-exit((not (tag :unstable)))
>     eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t)
>     command-line-1(("-L" ";." "-l" "ert" "-l" "src/process-tests.el" "--
>     command-line()
>     normal-top-level()
>   Test process-tests/multiple-threads-waiting condition:
>       (ert-test-failed
>        ((should
>          (eql
>           (process-exit-status process)
>           0))
>         :form
>         (eql 1 0)
>         :value nil))
>      FAILED  21/26  process-tests/multiple-threads-waiting (8.859375 sec)
>
> I did verify that process-send-eof does cause 'cat' to exit, so the
> problem is likely in some issue related to threads and what the test
> assumes regarding what should happen here.

What's surprising here is that "cat" exited with an exit status of 1,
shouldn't that be normally impossible?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]