Subject: bug#64975: 30.0.50; accept-process-output and async connect

From: Robert Pluim <[email-masked]>
Date: Tue, 08 Aug 2023 11:10:18 +0200

>>>>> On Sat, 05 Aug 2023 12:26:13 +0300, Eli Zaretskii <[email-masked]> said:

    >> From: Helmut Eller <[email-masked]>
    >> Date: Mon, 31 Jul 2023 15:31:00 +0200
    >> 
    >> (ert-deftest async-connect ()
    >> (let* ((host 'local)
    >> (family 'ipv4)
    >> (port 57869)
    >> (server (make-network-process
    >> :name "server" :server t :noquery t :reuseaddr t
    >> :host host :service port :family family))
    >> (proc (make-network-process
    >> :name "async-connect" :nowait t
    >> :host host :service port :family family)))
    >> (should (eq (process-status proc) 'connect))
    >> (should (accept-process-output proc 2))
    >> (should (eq (process-status proc) 'open))))
    >> 
    >> when executed with
    >> emacs --batch -Q -l async-connect.el -f ert-run-tests-batch-and-exit
    >> 
    >> It seems that accept-process-output correctly updates the process-status
    >> but it forgets to break out of the loop.
    >> 
    >> With the following change, the test passes:

    Eli> Robert, any comments?

I go away for a week, and this is what you give me as a coming-back
present? :-)

I think itʼs correct, as I have a change locally setting
got_some_output for a different test case, but Iʼm going to be a pain,
and ask Helmut to explain why, and see if I agree with his explanation
(thatʼs a very hairy loop)

Robert
--