##// END OF EJS Templates
tests: accept alternative privileged port allocation failure...
tests: accept alternative privileged port allocation failure This registers an additional failure message on failed privileged port allocation, equally funcionally valid but previously not handled and causing the test to fail when run in the NixOS sandbox. Differential Revision: https://phab.mercurial-scm.org/D11741

File last commit:

r49135:6f435697 stable
r49135:6f435697 stable
Show More
test-serve.t
120 lines | 3.0 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: replace exit 80 with #require
r22046 #require serve
Patrick Mezard
tests: convert test-serve to new format
r13540
$ hgserve()
> {
> hg serve -a localhost -d --pid-file=hg.pid -E errors.log -v $@ \
> | sed -e "s/:$HGPORT1\\([^0-9]\\)/:HGPORT1\1/g" \
> -e "s/:$HGPORT2\\([^0-9]\\)/:HGPORT2\1/g" \
> -e 's/http:\/\/[^/]*\//http:\/\/localhost\//'
Gregory Szorc
tests: remove pid file by default...
r37865 > if [ -f hg.pid ]; then
> killdaemons.py hg.pid
> fi
Patrick Mezard
tests: convert test-serve to new format
r13540 > echo % errors
> cat errors.log
> }
$ hg init test
$ cd test
$ echo '[web]' > .hg/hgrc
$ echo 'accesslog = access.log' >> .hg/hgrc
$ echo "port = $HGPORT1" >> .hg/hgrc
Without -v
$ hg serve -a localhost -p $HGPORT -d --pid-file=hg.pid -E errors.log
$ cat hg.pid >> "$DAEMON_PIDS"
$ if [ -f access.log ]; then
Mads Kiilerich
tests: fix incorrect markup of continued lines of sh commands
r16487 > echo 'access log created - .hg/hgrc respected'
> fi
Patrick Mezard
tests: convert test-serve to new format
r13540 access log created - .hg/hgrc respected
errors
$ cat errors.log
With -v
$ hgserve
Matt Harbison
test-serve: make the 'listening at *' lines optional...
r31769 listening at http://localhost/ (bound to *$LOCALIP*:HGPORT1) (glob) (?)
Patrick Mezard
tests: convert test-serve to new format
r13540 % errors
With -v and -p HGPORT2
$ hgserve -p "$HGPORT2"
Matt Harbison
test-serve: make the 'listening at *' lines optional...
r31769 listening at http://localhost/ (bound to *$LOCALIP*:HGPORT2) (glob) (?)
Patrick Mezard
tests: convert test-serve to new format
r13540 % errors
tests: make test-serve works on system that allow user to bind low port...
r48573 With -v and -p daytime
Patrick Mezard
tests: convert test-serve to new format
r13540
tests: make test-serve works on system that allow user to bind low port...
r48573 # On some system this will fails because port < 1024 are not bindable by normal
# users.
#
# On some others the kernel is configured to allow any user to bind them and
# this will work fine
#if no-windows
Patrick Mezard
tests: convert test-serve to new format
r13540 $ KILLQUIETLY=Y
$ hgserve -p daytime
tests: make test-serve works on system that allow user to bind low port...
r48573 abort: cannot start server at 'localhost:13': Permission denied (?)
abort: child process failed to start (?)
pacien
tests: accept alternative privileged port allocation failure...
r49135 abort: no port number associated with service 'daytime' (?)
tests: make test-serve works on system that allow user to bind low port...
r48573 listening at http://localhost/ (bound to $LOCALIP:13) (?)
Patrick Mezard
tests: convert test-serve to new format
r13540 % errors
$ KILLQUIETLY=N
Matt Mackall
tests: skip tests that require not having root (issue4089)...
r20008 #endif
Patrick Mezard
tests: convert test-serve to new format
r13540
With --prefix foo
$ hgserve --prefix foo
Matt Harbison
test-serve: make the 'listening at *' lines optional...
r31769 listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?)
Patrick Mezard
tests: convert test-serve to new format
r13540 % errors
With --prefix /foo
$ hgserve --prefix /foo
Matt Harbison
test-serve: make the 'listening at *' lines optional...
r31769 listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?)
Patrick Mezard
tests: convert test-serve to new format
r13540 % errors
With --prefix foo/
$ hgserve --prefix foo/
Matt Harbison
test-serve: make the 'listening at *' lines optional...
r31769 listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?)
Patrick Mezard
tests: convert test-serve to new format
r13540 % errors
With --prefix /foo/
$ hgserve --prefix /foo/
Matt Harbison
test-serve: make the 'listening at *' lines optional...
r31769 listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?)
Patrick Mezard
tests: convert test-serve to new format
r13540 % errors
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
Matt Harbison
server: ensure the incoming request falls under the prefix value...
r37288
With out of bounds accesses
$ rm access.log
$ hg serve -a localhost -p $HGPORT -d --prefix some/dir \
> --pid-file=hg.pid -E errors.log
$ cat hg.pid >> "$DAEMON_PIDS"
$ hg id http://localhost:$HGPORT/some/dir7
abort: HTTP Error 404: Not Found
Martin von Zweigbergk
errors: set detailed exit code to 100 for some remote errors...
r46443 [100]
Matt Harbison
server: ensure the incoming request falls under the prefix value...
r37288 $ hg id http://localhost:$HGPORT/some
abort: HTTP Error 404: Not Found
Martin von Zweigbergk
errors: set detailed exit code to 100 for some remote errors...
r46443 [100]
Matt Harbison
server: ensure the incoming request falls under the prefix value...
r37288
$ cat access.log errors.log
$LOCALIP - - [$LOGDATE$] "GET /some/dir7?cmd=capabilities HTTP/1.1" 404 - (glob)
$LOCALIP - - [$LOGDATE$] "GET /some?cmd=capabilities HTTP/1.1" 404 - (glob)
Manuel Jacob
py3: fix crash when server address is 0.0.0.0 (issue6362)...
r45578 $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
issue6362: Previously, this crashed on Python 3
Matt Harbison
tests: stablize test-serve.t on Windows...
r45627 $ hg serve -a 0.0.0.0 -d --pid-file=hg.pid
listening at http://*:$HGPORT1/ (bound to *:$HGPORT1) (glob) (?)
$ cat hg.pid > "$DAEMON_PIDS"
$ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
Manuel Jacob
py3: fix crash when server address is 0.0.0.0 (issue6362)...
r45578
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..