Subject: Re: bug#30700: 27.0.50; Broken tests on macOS

From: Philipp Stephani <[email-masked]>
Date: Wed, 17 Apr 2019 20:56:07 +0200

Am So., 6. Jan. 2019 um 23:40 Uhr schrieb Alan Third <[email-masked]>:
>
> Alan Third <[email-masked]> writes:
>
> > On Sun, Mar 04, 2018 at 08:05:02PM +0100, Philipp wrote:
> >>
> >> The following tests fail for me on macOS with a recent master build:
> >>
> >> network-stream-tests:
> >>
> >> Test echo-server-with-dns backtrace:
> >>   make-network-process(:name "server" :server t :noquery t :family ipv
> >>   make-server("p")
> >>   (let* ((server (make-server (system-name))) (port (aref (process-con
> >>   (closure (t) nil (let* ((server (make-server (system-name))) (port (
> >>   ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
> >>   ert-run-test(#s(ert-test :name echo-server-with-dns :documentation n
> >>   ert-run-or-rerun-test(#s(ert--stats :selector (not (or (tag :expensi
> >>   ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
> >>   ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
> >>   ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
> >>   eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
> >>   command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/net/network-stream-t
> >>   command-line()
> >>   normal-top-level()
> >> Test echo-server-with-dns condition:
> >>     (error "p/0 nodename nor servname provided, or not known")
> >>
> >> The macOS firewall prevents creating the server here.  Probably we
> >> should just skip this test on macOS.
> >
> > Are you sure that’s what’s going on? The other server tests appear to
> > work. I would expect this one to fail on my set up because the DNS
> > entry for my computer only has an IPv6 address, but this test seems to
> > rely on IPv4.
>
> Looking further into this, if I change ":family" in make-server, either
> by removing it, or changing it to 'ipv6, I get the following:
>
>   (file-error "make client process failed" "Connection refused" :name
>   "foo" :buffer #<buffer *foo*<19>> :host "breton.holly.idiocy.org"
>   :service ...)
>
> which implies the server is being created, but then the client can't
> connect. Looking at netstat I can't see the port.
>
> Turning off the macOS firewall makes no difference to any tests.

The reason why I suspected the firewall is that I when running the
tests I get a firewall warning whether I want to allow gnutls-serv to
accept incoming requests. Does that warning not appear on your system?