##// END OF EJS Templates
tests: accept alternative privileged port allocation failure...
pacien -
r49135:6f435697 stable
parent child Browse files
Show More
@@ -1,119 +1,120 b''
1 1 #require serve
2 2
3 3 $ hgserve()
4 4 > {
5 5 > hg serve -a localhost -d --pid-file=hg.pid -E errors.log -v $@ \
6 6 > | sed -e "s/:$HGPORT1\\([^0-9]\\)/:HGPORT1\1/g" \
7 7 > -e "s/:$HGPORT2\\([^0-9]\\)/:HGPORT2\1/g" \
8 8 > -e 's/http:\/\/[^/]*\//http:\/\/localhost\//'
9 9 > if [ -f hg.pid ]; then
10 10 > killdaemons.py hg.pid
11 11 > fi
12 12 > echo % errors
13 13 > cat errors.log
14 14 > }
15 15
16 16 $ hg init test
17 17 $ cd test
18 18 $ echo '[web]' > .hg/hgrc
19 19 $ echo 'accesslog = access.log' >> .hg/hgrc
20 20 $ echo "port = $HGPORT1" >> .hg/hgrc
21 21
22 22 Without -v
23 23
24 24 $ hg serve -a localhost -p $HGPORT -d --pid-file=hg.pid -E errors.log
25 25 $ cat hg.pid >> "$DAEMON_PIDS"
26 26 $ if [ -f access.log ]; then
27 27 > echo 'access log created - .hg/hgrc respected'
28 28 > fi
29 29 access log created - .hg/hgrc respected
30 30
31 31 errors
32 32
33 33 $ cat errors.log
34 34
35 35 With -v
36 36
37 37 $ hgserve
38 38 listening at http://localhost/ (bound to *$LOCALIP*:HGPORT1) (glob) (?)
39 39 % errors
40 40
41 41 With -v and -p HGPORT2
42 42
43 43 $ hgserve -p "$HGPORT2"
44 44 listening at http://localhost/ (bound to *$LOCALIP*:HGPORT2) (glob) (?)
45 45 % errors
46 46
47 47 With -v and -p daytime
48 48
49 49 # On some system this will fails because port < 1024 are not bindable by normal
50 50 # users.
51 51 #
52 52 # On some others the kernel is configured to allow any user to bind them and
53 53 # this will work fine
54 54
55 55 #if no-windows
56 56 $ KILLQUIETLY=Y
57 57 $ hgserve -p daytime
58 58 abort: cannot start server at 'localhost:13': Permission denied (?)
59 59 abort: child process failed to start (?)
60 abort: no port number associated with service 'daytime' (?)
60 61 listening at http://localhost/ (bound to $LOCALIP:13) (?)
61 62 % errors
62 63 $ KILLQUIETLY=N
63 64 #endif
64 65
65 66 With --prefix foo
66 67
67 68 $ hgserve --prefix foo
68 69 listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?)
69 70 % errors
70 71
71 72 With --prefix /foo
72 73
73 74 $ hgserve --prefix /foo
74 75 listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?)
75 76 % errors
76 77
77 78 With --prefix foo/
78 79
79 80 $ hgserve --prefix foo/
80 81 listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?)
81 82 % errors
82 83
83 84 With --prefix /foo/
84 85
85 86 $ hgserve --prefix /foo/
86 87 listening at http://localhost/foo/ (bound to *$LOCALIP*:HGPORT1) (glob) (?)
87 88 % errors
88 89
89 90 $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
90 91
91 92 With out of bounds accesses
92 93
93 94 $ rm access.log
94 95 $ hg serve -a localhost -p $HGPORT -d --prefix some/dir \
95 96 > --pid-file=hg.pid -E errors.log
96 97 $ cat hg.pid >> "$DAEMON_PIDS"
97 98
98 99 $ hg id http://localhost:$HGPORT/some/dir7
99 100 abort: HTTP Error 404: Not Found
100 101 [100]
101 102 $ hg id http://localhost:$HGPORT/some
102 103 abort: HTTP Error 404: Not Found
103 104 [100]
104 105
105 106 $ cat access.log errors.log
106 107 $LOCALIP - - [$LOGDATE$] "GET /some/dir7?cmd=capabilities HTTP/1.1" 404 - (glob)
107 108 $LOCALIP - - [$LOGDATE$] "GET /some?cmd=capabilities HTTP/1.1" 404 - (glob)
108 109
109 110 $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
110 111
111 112 issue6362: Previously, this crashed on Python 3
112 113
113 114 $ hg serve -a 0.0.0.0 -d --pid-file=hg.pid
114 115 listening at http://*:$HGPORT1/ (bound to *:$HGPORT1) (glob) (?)
115 116
116 117 $ cat hg.pid > "$DAEMON_PIDS"
117 118 $ "$PYTHON" $RUNTESTDIR/killdaemons.py $DAEMON_PIDS
118 119
119 120 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now