97 |
97 |
98 $ rm -f error.log |
98 $ rm -f error.log |
99 |
99 |
100 Failure on subsequent HTTP request on the same socket (cmd?batch) |
100 Failure on subsequent HTTP request on the same socket (cmd?batch) |
101 |
101 |
102 $ hg serve --config badserver.closeafterrecvbytes=256,223 -p $HGPORT -d --pid-file=hg.pid -E error.log |
102 $ hg serve --config badserver.closeafterrecvbytes=210,223 -p $HGPORT -d --pid-file=hg.pid -E error.log |
103 $ cat hg.pid > $DAEMON_PIDS |
103 $ cat hg.pid > $DAEMON_PIDS |
104 $ hg clone http://localhost:$HGPORT/ clone |
104 $ hg clone http://localhost:$HGPORT/ clone |
105 abort: error: bad HTTP status line: '' |
105 abort: error: bad HTTP status line: '' |
106 [255] |
106 [255] |
107 |
107 |
108 $ killdaemons.py $DAEMON_PIDS |
108 $ killdaemons.py $DAEMON_PIDS |
109 |
109 |
110 $ cat error.log |
110 $ cat error.log |
111 readline(256 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
111 readline(210 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
112 readline(223 from -1) -> (27) Accept-Encoding: identity\r\n |
112 readline(177 from -1) -> (27) Accept-Encoding: identity\r\n |
113 readline(196 from -1) -> (19) vary: X-HgProto-1\r\n |
|
114 readline(177 from -1) -> (27) x-hgproto-1: partial-pull\r\n |
|
115 readline(150 from -1) -> (35) accept: application/mercurial-0.1\r\n |
113 readline(150 from -1) -> (35) accept: application/mercurial-0.1\r\n |
116 readline(115 from -1) -> (*) host: localhost:$HGPORT\r\n (glob) |
114 readline(115 from -1) -> (*) host: localhost:$HGPORT\r\n (glob) |
117 readline(* from -1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) |
115 readline(* from -1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) |
118 readline(* from -1) -> (2) \r\n (glob) |
116 readline(* from -1) -> (2) \r\n (glob) |
119 write(36) -> HTTP/1.1 200 Script output follows\r\n |
117 write(36) -> HTTP/1.1 200 Script output follows\r\n |
137 |
135 |
138 $ rm -f error.log |
136 $ rm -f error.log |
139 |
137 |
140 Failure to read getbundle HTTP request |
138 Failure to read getbundle HTTP request |
141 |
139 |
142 $ hg serve --config badserver.closeafterrecvbytes=354,317,304 -p $HGPORT -d --pid-file=hg.pid -E error.log |
140 $ hg serve --config badserver.closeafterrecvbytes=308,317,304 -p $HGPORT -d --pid-file=hg.pid -E error.log |
143 $ cat hg.pid > $DAEMON_PIDS |
141 $ cat hg.pid > $DAEMON_PIDS |
144 $ hg clone http://localhost:$HGPORT/ clone |
142 $ hg clone http://localhost:$HGPORT/ clone |
145 requesting all changes |
143 requesting all changes |
146 abort: error: bad HTTP status line: '' |
144 abort: error: bad HTTP status line: '' |
147 [255] |
145 [255] |
149 $ killdaemons.py $DAEMON_PIDS |
147 $ killdaemons.py $DAEMON_PIDS |
150 |
148 |
151 $ cat error.log |
149 $ cat error.log |
152 readline(1 from -1) -> (1) x (?) |
150 readline(1 from -1) -> (1) x (?) |
153 readline(1 from -1) -> (1) x (?) |
151 readline(1 from -1) -> (1) x (?) |
154 readline(354 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
152 readline(308 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
155 readline(321 from -1) -> (27) Accept-Encoding: identity\r\n |
153 readline(275 from -1) -> (27) Accept-Encoding: identity\r\n |
156 readline(294 from -1) -> (19) vary: X-HgProto-1\r\n |
|
157 readline(275 from -1) -> (27) x-hgproto-1: partial-pull\r\n |
|
158 readline(248 from -1) -> (35) accept: application/mercurial-0.1\r\n |
154 readline(248 from -1) -> (35) accept: application/mercurial-0.1\r\n |
159 readline(213 from -1) -> (*) host: localhost:$HGPORT\r\n (glob) |
155 readline(213 from -1) -> (*) host: localhost:$HGPORT\r\n (glob) |
160 readline(* from -1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) |
156 readline(* from -1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) |
161 readline(* from -1) -> (2) \r\n (glob) |
157 readline(* from -1) -> (2) \r\n (glob) |
162 write(36) -> HTTP/1.1 200 Script output follows\r\n |
158 write(36) -> HTTP/1.1 200 Script output follows\r\n |
198 |
194 |
199 $ rm -f error.log |
195 $ rm -f error.log |
200 |
196 |
201 Now do a variation using POST to send arguments |
197 Now do a variation using POST to send arguments |
202 |
198 |
203 $ hg serve --config experimental.httppostargs=true --config badserver.closeafterrecvbytes=375,344 -p $HGPORT -d --pid-file=hg.pid -E error.log |
199 $ hg serve --config experimental.httppostargs=true --config badserver.closeafterrecvbytes=329,344 -p $HGPORT -d --pid-file=hg.pid -E error.log |
204 $ cat hg.pid > $DAEMON_PIDS |
200 $ cat hg.pid > $DAEMON_PIDS |
205 |
201 |
206 $ hg clone http://localhost:$HGPORT/ clone |
202 $ hg clone http://localhost:$HGPORT/ clone |
207 abort: error: bad HTTP status line: '' |
203 abort: error: bad HTTP status line: '' |
208 [255] |
204 [255] |
209 |
205 |
210 $ killdaemons.py $DAEMON_PIDS |
206 $ killdaemons.py $DAEMON_PIDS |
211 |
207 |
212 $ cat error.log |
208 $ cat error.log |
213 readline(375 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
209 readline(329 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
214 readline(342 from -1) -> (27) Accept-Encoding: identity\r\n |
210 readline(296 from -1) -> (27) Accept-Encoding: identity\r\n |
215 readline(315 from -1) -> (19) vary: X-HgProto-1\r\n |
|
216 readline(296 from -1) -> (27) x-hgproto-1: partial-pull\r\n |
|
217 readline(269 from -1) -> (35) accept: application/mercurial-0.1\r\n |
211 readline(269 from -1) -> (35) accept: application/mercurial-0.1\r\n |
218 readline(234 from -1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
212 readline(234 from -1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
219 readline(* from -1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) |
213 readline(* from -1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) |
220 readline(* from -1) -> (2) \r\n (glob) |
214 readline(* from -1) -> (2) \r\n (glob) |
221 write(36) -> HTTP/1.1 200 Script output follows\r\n |
215 write(36) -> HTTP/1.1 200 Script output follows\r\n |
263 $ killdaemons.py $DAEMON_PIDS |
257 $ killdaemons.py $DAEMON_PIDS |
264 |
258 |
265 $ cat error.log |
259 $ cat error.log |
266 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
260 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
267 readline(-1) -> (27) Accept-Encoding: identity\r\n |
261 readline(-1) -> (27) Accept-Encoding: identity\r\n |
268 readline(-1) -> (19) vary: X-HgProto-1\r\n |
|
269 readline(-1) -> (27) x-hgproto-1: partial-pull\r\n |
|
270 readline(-1) -> (35) accept: application/mercurial-0.1\r\n |
262 readline(-1) -> (35) accept: application/mercurial-0.1\r\n |
271 readline(-1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
263 readline(-1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
272 readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n |
264 readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n |
273 readline(-1) -> (2) \r\n |
265 readline(-1) -> (2) \r\n |
274 write(1 from 36) -> (0) H |
266 write(1 from 36) -> (0) H |
290 $ killdaemons.py $DAEMON_PIDS |
282 $ killdaemons.py $DAEMON_PIDS |
291 |
283 |
292 $ cat error.log |
284 $ cat error.log |
293 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
285 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
294 readline(-1) -> (27) Accept-Encoding: identity\r\n |
286 readline(-1) -> (27) Accept-Encoding: identity\r\n |
295 readline(-1) -> (19) vary: X-HgProto-1\r\n |
|
296 readline(-1) -> (27) x-hgproto-1: partial-pull\r\n |
|
297 readline(-1) -> (35) accept: application/mercurial-0.1\r\n |
287 readline(-1) -> (35) accept: application/mercurial-0.1\r\n |
298 readline(-1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
288 readline(-1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
299 readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n |
289 readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n |
300 readline(-1) -> (2) \r\n |
290 readline(-1) -> (2) \r\n |
301 write(36 from 36) -> (144) HTTP/1.1 200 Script output follows\r\n |
291 write(36 from 36) -> (144) HTTP/1.1 200 Script output follows\r\n |
327 $ killdaemons.py $DAEMON_PIDS |
317 $ killdaemons.py $DAEMON_PIDS |
328 |
318 |
329 $ cat error.log |
319 $ cat error.log |
330 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
320 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
331 readline(-1) -> (27) Accept-Encoding: identity\r\n |
321 readline(-1) -> (27) Accept-Encoding: identity\r\n |
332 readline(-1) -> (19) vary: X-HgProto-1\r\n |
|
333 readline(-1) -> (27) x-hgproto-1: partial-pull\r\n |
|
334 readline(-1) -> (35) accept: application/mercurial-0.1\r\n |
322 readline(-1) -> (35) accept: application/mercurial-0.1\r\n |
335 readline(-1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
323 readline(-1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
336 readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n |
324 readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n |
337 readline(-1) -> (2) \r\n |
325 readline(-1) -> (2) \r\n |
338 write(36 from 36) -> (678) HTTP/1.1 200 Script output follows\r\n |
326 write(36 from 36) -> (678) HTTP/1.1 200 Script output follows\r\n |
377 $ killdaemons.py $DAEMON_PIDS |
365 $ killdaemons.py $DAEMON_PIDS |
378 |
366 |
379 $ cat error.log |
367 $ cat error.log |
380 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
368 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
381 readline(-1) -> (27) Accept-Encoding: identity\r\n |
369 readline(-1) -> (27) Accept-Encoding: identity\r\n |
382 readline(-1) -> (19) vary: X-HgProto-1\r\n |
|
383 readline(-1) -> (27) x-hgproto-1: partial-pull\r\n |
|
384 readline(-1) -> (35) accept: application/mercurial-0.1\r\n |
370 readline(-1) -> (35) accept: application/mercurial-0.1\r\n |
385 readline(-1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
371 readline(-1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
386 readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n |
372 readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n |
387 readline(-1) -> (2) \r\n |
373 readline(-1) -> (2) \r\n |
388 write(36 from 36) -> (743) HTTP/1.1 200 Script output follows\r\n |
374 write(36 from 36) -> (743) HTTP/1.1 200 Script output follows\r\n |
431 $ killdaemons.py $DAEMON_PIDS |
417 $ killdaemons.py $DAEMON_PIDS |
432 |
418 |
433 $ cat error.log |
419 $ cat error.log |
434 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
420 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
435 readline(-1) -> (27) Accept-Encoding: identity\r\n |
421 readline(-1) -> (27) Accept-Encoding: identity\r\n |
436 readline(-1) -> (19) vary: X-HgProto-1\r\n |
|
437 readline(-1) -> (27) x-hgproto-1: partial-pull\r\n |
|
438 readline(-1) -> (35) accept: application/mercurial-0.1\r\n |
422 readline(-1) -> (35) accept: application/mercurial-0.1\r\n |
439 readline(-1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
423 readline(-1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
440 readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n |
424 readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n |
441 readline(-1) -> (2) \r\n |
425 readline(-1) -> (2) \r\n |
442 write(36 from 36) -> (890) HTTP/1.1 200 Script output follows\r\n |
426 write(36 from 36) -> (890) HTTP/1.1 200 Script output follows\r\n |
494 $ killdaemons.py $DAEMON_PIDS |
478 $ killdaemons.py $DAEMON_PIDS |
495 |
479 |
496 $ cat error.log |
480 $ cat error.log |
497 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
481 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
498 readline(-1) -> (27) Accept-Encoding: identity\r\n |
482 readline(-1) -> (27) Accept-Encoding: identity\r\n |
499 readline(-1) -> (19) vary: X-HgProto-1\r\n |
|
500 readline(-1) -> (27) x-hgproto-1: partial-pull\r\n |
|
501 readline(-1) -> (35) accept: application/mercurial-0.1\r\n |
483 readline(-1) -> (35) accept: application/mercurial-0.1\r\n |
502 readline(-1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
484 readline(-1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
503 readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n |
485 readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n |
504 readline(-1) -> (2) \r\n |
486 readline(-1) -> (2) \r\n |
505 write(36 from 36) -> (928) HTTP/1.1 200 Script output follows\r\n |
487 write(36 from 36) -> (928) HTTP/1.1 200 Script output follows\r\n |
559 $ killdaemons.py $DAEMON_PIDS |
541 $ killdaemons.py $DAEMON_PIDS |
560 |
542 |
561 $ cat error.log |
543 $ cat error.log |
562 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
544 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n |
563 readline(-1) -> (27) Accept-Encoding: identity\r\n |
545 readline(-1) -> (27) Accept-Encoding: identity\r\n |
564 readline(-1) -> (19) vary: X-HgProto-1\r\n |
|
565 readline(-1) -> (27) x-hgproto-1: partial-pull\r\n |
|
566 readline(-1) -> (35) accept: application/mercurial-0.1\r\n |
546 readline(-1) -> (35) accept: application/mercurial-0.1\r\n |
567 readline(-1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
547 readline(-1) -> (2?) host: localhost:$HGPORT\r\n (glob) |
568 readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n |
548 readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n |
569 readline(-1) -> (2) \r\n |
549 readline(-1) -> (2) \r\n |
570 write(36 from 36) -> (952) HTTP/1.1 200 Script output follows\r\n |
550 write(36 from 36) -> (952) HTTP/1.1 200 Script output follows\r\n |