comparison tests/test-http-protocol.t @ 31008:636cf3f7620d

tests: use LOCALIP This patch replaces hardcoded 127.0.0.1 with $LOCALIP in all tests. Till now, the IPv6 series should make tests pass on common IPv6 systems where the local device has the address "::1" and the hostname "localhost" resolves to "::1".
author Jun Wu <quark@fb.com>
date Thu, 16 Feb 2017 09:38:52 -0800
parents cdeb0804d98c
children a6d95a8b7243
comparison
equal deleted inserted replaced
31007:bfdb0741f9f2 31008:636cf3f7620d
14 $ cat hg.pid >> $DAEMON_PIDS 14 $ cat hg.pid >> $DAEMON_PIDS
15 15
16 compression formats are advertised in compression capability 16 compression formats are advertised in compression capability
17 17
18 #if zstd 18 #if zstd
19 $ get-with-headers.py 127.0.0.1:$HGPORT '?cmd=capabilities' | tr ' ' '\n' | grep '^compression=zstd,zlib$' > /dev/null 19 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=capabilities' | tr ' ' '\n' | grep '^compression=zstd,zlib$' > /dev/null
20 #else 20 #else
21 $ get-with-headers.py 127.0.0.1:$HGPORT '?cmd=capabilities' | tr ' ' '\n' | grep '^compression=zlib$' > /dev/null 21 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=capabilities' | tr ' ' '\n' | grep '^compression=zlib$' > /dev/null
22 #endif 22 #endif
23 23
24 $ killdaemons.py 24 $ killdaemons.py
25 25
26 server.compressionengines can replace engines list wholesale 26 server.compressionengines can replace engines list wholesale
27 27
28 $ hg --config server.compressionengines=none -R server serve -p $HGPORT -d --pid-file hg.pid 28 $ hg --config server.compressionengines=none -R server serve -p $HGPORT -d --pid-file hg.pid
29 $ cat hg.pid > $DAEMON_PIDS 29 $ cat hg.pid > $DAEMON_PIDS
30 $ get-with-headers.py 127.0.0.1:$HGPORT '?cmd=capabilities' | tr ' ' '\n' | grep '^compression=none$' > /dev/null 30 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=capabilities' | tr ' ' '\n' | grep '^compression=none$' > /dev/null
31 31
32 $ killdaemons.py 32 $ killdaemons.py
33 33
34 Order of engines can also change 34 Order of engines can also change
35 35
36 $ hg --config server.compressionengines=none,zlib -R server serve -p $HGPORT -d --pid-file hg.pid 36 $ hg --config server.compressionengines=none,zlib -R server serve -p $HGPORT -d --pid-file hg.pid
37 $ cat hg.pid > $DAEMON_PIDS 37 $ cat hg.pid > $DAEMON_PIDS
38 $ get-with-headers.py 127.0.0.1:$HGPORT '?cmd=capabilities' | tr ' ' '\n' | grep '^compression=none,zlib$' > /dev/null 38 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=capabilities' | tr ' ' '\n' | grep '^compression=none,zlib$' > /dev/null
39 39
40 $ killdaemons.py 40 $ killdaemons.py
41 41
42 Start a default server again 42 Start a default server again
43 43
44 $ hg -R server serve -p $HGPORT -d --pid-file hg.pid 44 $ hg -R server serve -p $HGPORT -d --pid-file hg.pid
45 $ cat hg.pid > $DAEMON_PIDS 45 $ cat hg.pid > $DAEMON_PIDS
46 46
47 Server should send application/mercurial-0.1 to clients if no Accept is used 47 Server should send application/mercurial-0.1 to clients if no Accept is used
48 48
49 $ get-with-headers.py --headeronly 127.0.0.1:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' - 49 $ get-with-headers.py --headeronly $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' -
50 200 Script output follows 50 200 Script output follows
51 content-type: application/mercurial-0.1 51 content-type: application/mercurial-0.1
52 date: * (glob) 52 date: * (glob)
53 server: * (glob) 53 server: * (glob)
54 transfer-encoding: chunked 54 transfer-encoding: chunked
55 55
56 Server should send application/mercurial-0.1 when client says it wants it 56 Server should send application/mercurial-0.1 when client says it wants it
57 57
58 $ get-with-headers.py --hgproto '0.1' --headeronly 127.0.0.1:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' - 58 $ get-with-headers.py --hgproto '0.1' --headeronly $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' -
59 200 Script output follows 59 200 Script output follows
60 content-type: application/mercurial-0.1 60 content-type: application/mercurial-0.1
61 date: * (glob) 61 date: * (glob)
62 server: * (glob) 62 server: * (glob)
63 transfer-encoding: chunked 63 transfer-encoding: chunked
64 64
65 Server should send application/mercurial-0.2 when client says it wants it 65 Server should send application/mercurial-0.2 when client says it wants it
66 66
67 $ get-with-headers.py --hgproto '0.2' --headeronly 127.0.0.1:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' - 67 $ get-with-headers.py --hgproto '0.2' --headeronly $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' -
68 200 Script output follows 68 200 Script output follows
69 content-type: application/mercurial-0.2 69 content-type: application/mercurial-0.2
70 date: * (glob) 70 date: * (glob)
71 server: * (glob) 71 server: * (glob)
72 transfer-encoding: chunked 72 transfer-encoding: chunked
73 73
74 $ get-with-headers.py --hgproto '0.1 0.2' --headeronly 127.0.0.1:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' - 74 $ get-with-headers.py --hgproto '0.1 0.2' --headeronly $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' -
75 200 Script output follows 75 200 Script output follows
76 content-type: application/mercurial-0.2 76 content-type: application/mercurial-0.2
77 date: * (glob) 77 date: * (glob)
78 server: * (glob) 78 server: * (glob)
79 transfer-encoding: chunked 79 transfer-encoding: chunked
80 80
81 Requesting a compression format that server doesn't support results will fall back to 0.1 81 Requesting a compression format that server doesn't support results will fall back to 0.1
82 82
83 $ get-with-headers.py --hgproto '0.2 comp=aa' --headeronly 127.0.0.1:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' - 83 $ get-with-headers.py --hgproto '0.2 comp=aa' --headeronly $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' -
84 200 Script output follows 84 200 Script output follows
85 content-type: application/mercurial-0.1 85 content-type: application/mercurial-0.1
86 date: * (glob) 86 date: * (glob)
87 server: * (glob) 87 server: * (glob)
88 transfer-encoding: chunked 88 transfer-encoding: chunked
89 89
90 #if zstd 90 #if zstd
91 zstd is used if available 91 zstd is used if available
92 92
93 $ get-with-headers.py --hgproto '0.2 comp=zstd' 127.0.0.1:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' > resp 93 $ get-with-headers.py --hgproto '0.2 comp=zstd' $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' > resp
94 $ f --size --hexdump --bytes 36 --sha1 resp 94 $ f --size --hexdump --bytes 36 --sha1 resp
95 resp: size=248, sha1=4d8d8f87fb82bd542ce52881fdc94f850748 95 resp: size=248, sha1=4d8d8f87fb82bd542ce52881fdc94f850748
96 0000: 32 30 30 20 53 63 72 69 70 74 20 6f 75 74 70 75 |200 Script outpu| 96 0000: 32 30 30 20 53 63 72 69 70 74 20 6f 75 74 70 75 |200 Script outpu|
97 0010: 74 20 66 6f 6c 6c 6f 77 73 0a 0a 04 7a 73 74 64 |t follows...zstd| 97 0010: 74 20 66 6f 6c 6c 6f 77 73 0a 0a 04 7a 73 74 64 |t follows...zstd|
98 0020: 28 b5 2f fd |(./.| 98 0020: 28 b5 2f fd |(./.|
99 99
100 #endif 100 #endif
101 101
102 application/mercurial-0.2 is not yet used on non-streaming responses 102 application/mercurial-0.2 is not yet used on non-streaming responses
103 103
104 $ get-with-headers.py --hgproto '0.2' 127.0.0.1:$HGPORT '?cmd=heads' - 104 $ get-with-headers.py --hgproto '0.2' $LOCALIP:$HGPORT '?cmd=heads' -
105 200 Script output follows 105 200 Script output follows
106 content-length: 41 106 content-length: 41
107 content-type: application/mercurial-0.1 107 content-type: application/mercurial-0.1
108 date: * (glob) 108 date: * (glob)
109 server: * (glob) 109 server: * (glob)
116 $ hg --config server.compressionengines=none,zlib -R server serve -p $HGPORT -d --pid-file hg.pid 116 $ hg --config server.compressionengines=none,zlib -R server serve -p $HGPORT -d --pid-file hg.pid
117 $ cat hg.pid > $DAEMON_PIDS 117 $ cat hg.pid > $DAEMON_PIDS
118 118
119 No Accept will send 0.1+zlib, even though "none" is preferred b/c "none" isn't supported on 0.1 119 No Accept will send 0.1+zlib, even though "none" is preferred b/c "none" isn't supported on 0.1
120 120
121 $ get-with-headers.py --headeronly 127.0.0.1:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' Content-Type 121 $ get-with-headers.py --headeronly $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' Content-Type
122 200 Script output follows 122 200 Script output follows
123 content-type: application/mercurial-0.1 123 content-type: application/mercurial-0.1
124 124
125 $ get-with-headers.py 127.0.0.1:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' > resp 125 $ get-with-headers.py $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' > resp
126 $ f --size --hexdump --bytes 28 --sha1 resp 126 $ f --size --hexdump --bytes 28 --sha1 resp
127 resp: size=227, sha1=35a4c074da74f32f5440da3cbf04 127 resp: size=227, sha1=35a4c074da74f32f5440da3cbf04
128 0000: 32 30 30 20 53 63 72 69 70 74 20 6f 75 74 70 75 |200 Script outpu| 128 0000: 32 30 30 20 53 63 72 69 70 74 20 6f 75 74 70 75 |200 Script outpu|
129 0010: 74 20 66 6f 6c 6c 6f 77 73 0a 0a 78 |t follows..x| 129 0010: 74 20 66 6f 6c 6c 6f 77 73 0a 0a 78 |t follows..x|
130 130
131 Explicit 0.1 will send zlib because "none" isn't supported on 0.1 131 Explicit 0.1 will send zlib because "none" isn't supported on 0.1
132 132
133 $ get-with-headers.py --hgproto '0.1' 127.0.0.1:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' > resp 133 $ get-with-headers.py --hgproto '0.1' $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' > resp
134 $ f --size --hexdump --bytes 28 --sha1 resp 134 $ f --size --hexdump --bytes 28 --sha1 resp
135 resp: size=227, sha1=35a4c074da74f32f5440da3cbf04 135 resp: size=227, sha1=35a4c074da74f32f5440da3cbf04
136 0000: 32 30 30 20 53 63 72 69 70 74 20 6f 75 74 70 75 |200 Script outpu| 136 0000: 32 30 30 20 53 63 72 69 70 74 20 6f 75 74 70 75 |200 Script outpu|
137 0010: 74 20 66 6f 6c 6c 6f 77 73 0a 0a 78 |t follows..x| 137 0010: 74 20 66 6f 6c 6c 6f 77 73 0a 0a 78 |t follows..x|
138 138
139 0.2 with no compression will get "none" because that is server's preference 139 0.2 with no compression will get "none" because that is server's preference
140 (spec says ZL and UN are implicitly supported) 140 (spec says ZL and UN are implicitly supported)
141 141
142 $ get-with-headers.py --hgproto '0.2' 127.0.0.1:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' > resp 142 $ get-with-headers.py --hgproto '0.2' $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' > resp
143 $ f --size --hexdump --bytes 32 --sha1 resp 143 $ f --size --hexdump --bytes 32 --sha1 resp
144 resp: size=432, sha1=ac931b412ec185a02e0e5bcff98dac83 144 resp: size=432, sha1=ac931b412ec185a02e0e5bcff98dac83
145 0000: 32 30 30 20 53 63 72 69 70 74 20 6f 75 74 70 75 |200 Script outpu| 145 0000: 32 30 30 20 53 63 72 69 70 74 20 6f 75 74 70 75 |200 Script outpu|
146 0010: 74 20 66 6f 6c 6c 6f 77 73 0a 0a 04 6e 6f 6e 65 |t follows...none| 146 0010: 74 20 66 6f 6c 6c 6f 77 73 0a 0a 04 6e 6f 6e 65 |t follows...none|
147 147
148 Client receives server preference even if local order doesn't match 148 Client receives server preference even if local order doesn't match
149 149
150 $ get-with-headers.py --hgproto '0.2 comp=zlib,none' 127.0.0.1:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' > resp 150 $ get-with-headers.py --hgproto '0.2 comp=zlib,none' $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' > resp
151 $ f --size --hexdump --bytes 32 --sha1 resp 151 $ f --size --hexdump --bytes 32 --sha1 resp
152 resp: size=432, sha1=ac931b412ec185a02e0e5bcff98dac83 152 resp: size=432, sha1=ac931b412ec185a02e0e5bcff98dac83
153 0000: 32 30 30 20 53 63 72 69 70 74 20 6f 75 74 70 75 |200 Script outpu| 153 0000: 32 30 30 20 53 63 72 69 70 74 20 6f 75 74 70 75 |200 Script outpu|
154 0010: 74 20 66 6f 6c 6c 6f 77 73 0a 0a 04 6e 6f 6e 65 |t follows...none| 154 0010: 74 20 66 6f 6c 6c 6f 77 73 0a 0a 04 6e 6f 6e 65 |t follows...none|
155 155
156 Client receives only supported format even if not server preferred format 156 Client receives only supported format even if not server preferred format
157 157
158 $ get-with-headers.py --hgproto '0.2 comp=zlib' 127.0.0.1:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' > resp 158 $ get-with-headers.py --hgproto '0.2 comp=zlib' $LOCALIP:$HGPORT '?cmd=getbundle&heads=e93700bd72895c5addab234c56d4024b487a362f&common=0000000000000000000000000000000000000000' > resp
159 $ f --size --hexdump --bytes 33 --sha1 resp 159 $ f --size --hexdump --bytes 33 --sha1 resp
160 resp: size=232, sha1=a1c727f0c9693ca15742a75c30419bc36 160 resp: size=232, sha1=a1c727f0c9693ca15742a75c30419bc36
161 0000: 32 30 30 20 53 63 72 69 70 74 20 6f 75 74 70 75 |200 Script outpu| 161 0000: 32 30 30 20 53 63 72 69 70 74 20 6f 75 74 70 75 |200 Script outpu|
162 0010: 74 20 66 6f 6c 6c 6f 77 73 0a 0a 04 7a 6c 69 62 |t follows...zlib| 162 0010: 74 20 66 6f 6c 6c 6f 77 73 0a 0a 04 7a 6c 69 62 |t follows...zlib|
163 0020: 78 |x| 163 0020: 78 |x|