# HG changeset patch # User Matt Harbison # Date 1491109012 14400 # Node ID 594dd384803c361b04bfe594807fdf66d284fc25 # Parent 49e9124cfc23752ba00a5bf03d7c6390e1360446 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. diff -r 49e9124cfc23 -r 594dd384803c tests/test-hgwebdir.t --- 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 diff -r 49e9124cfc23 -r 594dd384803c tests/test-patchbomb-tls.t --- 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: diff -r 49e9124cfc23 -r 594dd384803c tests/test-serve.t --- 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 ..