test-serve: make the 'listening at *' lines optional
The daemonized serve process doesn't print these lines out (see
448d0c452140).
I was able to get it to with the following hack:
diff --git a/mercurial/win32.py b/mercurial/win32.py
--- a/mercurial/win32.py
+++ b/mercurial/win32.py
@@ -418,6 +418,11 @@
return str(ppid)
def spawndetached(args):
+
+ import subprocess
+ return subprocess.Popen(args, cwd=pycompat.getcwd(), env=encoding.environ,
+ creationflags=subprocess.CREATE_NEW_PROCESS_GROUP).pid
+
# No standard library function really spawns a fully detached
# process under win32 because they allocate pipes or other objects
# to handle standard streams communications. Passing these objects
However, MSYS translates --prefixes starting with '/' to 'C:/MinGW/msys/1.0',
which changes the output. The output isn't so important that I want to spend a
bunch of time on this, and risk breaking some subtle behavior of `hg serve -d`
with the more complicated code.
--- a/tests/test-hgwebdir.t Sat Apr 01 18:30:51 2017 -0400
+++ b/tests/test-hgwebdir.t Sun Apr 02 00:56:52 2017 -0400
@@ -1421,7 +1421,7 @@
> EOF
$ hg serve -d --pid-file=hg.pid --web-conf paths.conf \
> -A access-paths.log -E error-paths-9.log
- listening at http://*:$HGPORT1/ (bound to *$LOCALIP*:$HGPORT1) (glob)
+ listening at http://*:$HGPORT1/ (bound to *$LOCALIP*:$HGPORT1) (glob) (?)
$ cat hg.pid >> $DAEMON_PIDS
$ get-with-headers.py localhost:$HGPORT1 '?style=raw'
200 Script output follows
@@ -1433,7 +1433,7 @@
$ killdaemons.py
$ hg serve -p $HGPORT2 -d -v --pid-file=hg.pid --web-conf paths.conf \
> -A access-paths.log -E error-paths-10.log
- listening at http://*:$HGPORT2/ (bound to *$LOCALIP*:$HGPORT2) (glob)
+ listening at http://*:$HGPORT2/ (bound to *$LOCALIP*:$HGPORT2) (glob) (?)
$ cat hg.pid >> $DAEMON_PIDS
$ get-with-headers.py localhost:$HGPORT2 '?style=raw'
200 Script output follows
--- a/tests/test-patchbomb-tls.t Sat Apr 01 18:30:51 2017 -0400
+++ b/tests/test-patchbomb-tls.t Sun Apr 02 00:56:52 2017 -0400
@@ -7,7 +7,7 @@
$ python "$TESTDIR/dummysmtpd.py" -p $HGPORT --pid-file a.pid -d \
> --tls smtps --certificate `pwd`/server.pem
- listening at localhost:$HGPORT
+ listening at localhost:$HGPORT (?)
$ cat a.pid >> $DAEMON_PIDS
Set up repository:
--- a/tests/test-serve.t Sat Apr 01 18:30:51 2017 -0400
+++ b/tests/test-serve.t Sun Apr 02 00:56:52 2017 -0400
@@ -34,13 +34,13 @@
With -v
$ hgserve
- listening at http://localhost/ (bound to *$LOCALIP*:HGPORT1) (glob)
+ listening at http://localhost/ (bound to *$LOCALIP*:HGPORT1) (glob) (?)
% errors
With -v and -p HGPORT2
$ hgserve -p "$HGPORT2"
- listening at http://localhost/ (bound to *$LOCALIP*:HGPORT2) (glob)
+ listening at http://localhost/ (bound to *$LOCALIP*:HGPORT2) (glob) (?)
% errors
With -v and -p daytime (should fail because low port)
@@ -57,25 +57,25 @@
With --prefix foo
$ hgserve --prefix foo
- listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob)
+ listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?)
% errors
With --prefix /foo
$ hgserve --prefix /foo
- listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob)
+ listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?)
% errors
With --prefix foo/
$ hgserve --prefix foo/
- listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob)
+ listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?)
% errors
With --prefix /foo/
$ hgserve --prefix /foo/
- listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob)
+ listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?)
% errors
$ cd ..