tests/test-http-bad-server.t
changeset 32022 e5d7f99a3063
parent 32020 acc67cd7f508
child 32024 ad41739c6b2b
equal deleted inserted replaced
32021:08e46fcb8637 32022:e5d7f99a3063
   102   $ killdaemons.py $DAEMON_PIDS
   102   $ killdaemons.py $DAEMON_PIDS
   103 
   103 
   104   $ cat error.log
   104   $ cat error.log
   105   readline(210 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   105   readline(210 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   106   readline(177 from -1) -> (27) Accept-Encoding: identity\r\n
   106   readline(177 from -1) -> (27) Accept-Encoding: identity\r\n
   107   readline(150 from -1) -> (8) vary: \r\n
   107   readline(150 from -1) -> (35) accept: application/mercurial-0.1\r\n
   108   readline(142 from -1) -> (35) accept: application/mercurial-0.1\r\n
   108   readline(115 from -1) -> (23) host: localhost:$HGPORT\r\n
   109   readline(107 from -1) -> (23) host: localhost:$HGPORT\r\n
   109   readline(92 from -1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   110   readline(84 from -1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   110   readline(43 from -1) -> (2) \r\n
   111   readline(35 from -1) -> (2) \r\n
       
   112   write(36) -> HTTP/1.1 200 Script output follows\r\n
   111   write(36) -> HTTP/1.1 200 Script output follows\r\n
   113   write(23) -> Server: badhttpserver\r\n
   112   write(23) -> Server: badhttpserver\r\n
   114   write(37) -> Date: Fri, 14 Apr 2017 00:00:00 GMT\r\n
   113   write(37) -> Date: Fri, 14 Apr 2017 00:00:00 GMT\r\n
   115   write(41) -> Content-Type: application/mercurial-0.1\r\n
   114   write(41) -> Content-Type: application/mercurial-0.1\r\n
   116   write(21) -> Content-Length: 405\r\n
   115   write(21) -> Content-Length: 405\r\n
   117   write(2) -> \r\n
   116   write(2) -> \r\n
   118   write(405) -> lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch streamreqs=generaldelta,revlogv1 bundle2=HG20%0Achangegroup%3D01%2C02%0Adigests%3Dmd5%2Csha1%2Csha512%0Aerror%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushkey%0Ahgtagsfnodes%0Alistkeys%0Apushkey%0Aremote-changegroup%3Dhttp%2Chttps unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx compression=none
   117   write(405) -> lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch streamreqs=generaldelta,revlogv1 bundle2=HG20%0Achangegroup%3D01%2C02%0Adigests%3Dmd5%2Csha1%2Csha512%0Aerror%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushkey%0Ahgtagsfnodes%0Alistkeys%0Apushkey%0Aremote-changegroup%3Dhttp%2Chttps unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx compression=none
   119   readline(33 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
   118   readline(41 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
   120   readline(7 from -1) -> (7) Accept-
   119   readline(15 from -1) -> (15) Accept-Encoding
   121   read limit reached; closing socket
   120   read limit reached; closing socket
   122   readline(210 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
   121   readline(210 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
   123   readline(184 from -1) -> (27) Accept-Encoding: identity\r\n
   122   readline(184 from -1) -> (27) Accept-Encoding: identity\r\n
   124   readline(157 from -1) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n
   123   readline(157 from -1) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n
   125   readline(128 from -1) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n
   124   readline(128 from -1) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n
   130 
   129 
   131   $ rm -f error.log
   130   $ rm -f error.log
   132 
   131 
   133 Failure to read getbundle HTTP request
   132 Failure to read getbundle HTTP request
   134 
   133 
   135   $ hg --config badserver.closeafterrecvbytes=300 serve -p $HGPORT -d --pid-file=hg.pid -E error.log
   134   $ hg --config badserver.closeafterrecvbytes=292 serve -p $HGPORT -d --pid-file=hg.pid -E error.log
   136   $ cat hg.pid > $DAEMON_PIDS
   135   $ cat hg.pid > $DAEMON_PIDS
   137   $ hg clone http://localhost:$HGPORT/ clone
   136   $ hg clone http://localhost:$HGPORT/ clone
   138   requesting all changes
   137   requesting all changes
   139   abort: error: ''
   138   abort: error: ''
   140   [255]
   139   [255]
   141 
   140 
   142   $ killdaemons.py $DAEMON_PIDS
   141   $ killdaemons.py $DAEMON_PIDS
   143 
   142 
   144   $ cat error.log
   143   $ cat error.log
   145   readline(300 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   144   readline(292 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   146   readline(267 from -1) -> (27) Accept-Encoding: identity\r\n
   145   readline(259 from -1) -> (27) Accept-Encoding: identity\r\n
   147   readline(240 from -1) -> (8) vary: \r\n
       
   148   readline(232 from -1) -> (35) accept: application/mercurial-0.1\r\n
   146   readline(232 from -1) -> (35) accept: application/mercurial-0.1\r\n
   149   readline(197 from -1) -> (23) host: localhost:$HGPORT\r\n
   147   readline(197 from -1) -> (23) host: localhost:$HGPORT\r\n
   150   readline(174 from -1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   148   readline(174 from -1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   151   readline(125 from -1) -> (2) \r\n
   149   readline(125 from -1) -> (2) \r\n
   152   write(36) -> HTTP/1.1 200 Script output follows\r\n
   150   write(36) -> HTTP/1.1 200 Script output follows\r\n
   159   readline(123 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
   157   readline(123 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
   160   readline(97 from -1) -> (27) Accept-Encoding: identity\r\n
   158   readline(97 from -1) -> (27) Accept-Encoding: identity\r\n
   161   readline(70 from -1) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n
   159   readline(70 from -1) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n
   162   readline(41 from -1) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n
   160   readline(41 from -1) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n
   163   read limit reached; closing socket
   161   read limit reached; closing socket
   164   readline(300 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
   162   readline(292 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
   165   readline(274 from -1) -> (27) Accept-Encoding: identity\r\n
   163   readline(266 from -1) -> (27) Accept-Encoding: identity\r\n
   166   readline(247 from -1) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n
   164   readline(239 from -1) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n
   167   readline(218 from -1) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n
   165   readline(210 from -1) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n
   168   readline(177 from -1) -> (48) x-hgproto-1: 0.1 0.2 comp=zstd,zlib,none,bzip2\r\n
   166   readline(169 from -1) -> (48) x-hgproto-1: 0.1 0.2 comp=zstd,zlib,none,bzip2\r\n
   169   readline(129 from -1) -> (35) accept: application/mercurial-0.1\r\n
   167   readline(121 from -1) -> (35) accept: application/mercurial-0.1\r\n
   170   readline(94 from -1) -> (23) host: localhost:$HGPORT\r\n
   168   readline(86 from -1) -> (23) host: localhost:$HGPORT\r\n
   171   readline(71 from -1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   169   readline(63 from -1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   172   readline(22 from -1) -> (2) \r\n
   170   readline(14 from -1) -> (2) \r\n
   173   write(36) -> HTTP/1.1 200 Script output follows\r\n
   171   write(36) -> HTTP/1.1 200 Script output follows\r\n
   174   write(23) -> Server: badhttpserver\r\n
   172   write(23) -> Server: badhttpserver\r\n
   175   write(37) -> Date: Fri, 14 Apr 2017 00:00:00 GMT\r\n
   173   write(37) -> Date: Fri, 14 Apr 2017 00:00:00 GMT\r\n
   176   write(41) -> Content-Type: application/mercurial-0.1\r\n
   174   write(41) -> Content-Type: application/mercurial-0.1\r\n
   177   write(20) -> Content-Length: 42\r\n
   175   write(20) -> Content-Length: 42\r\n
   178   write(2) -> \r\n
   176   write(2) -> \r\n
   179   write(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n;
   177   write(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n;
   180   readline(20 from 65537) -> (20) GET /?cmd=getbundle 
   178   readline(12 from 65537) -> (12) GET /?cmd=ge
   181   read limit reached; closing socket
   179   read limit reached; closing socket
   182   readline(300 from 65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
   180   readline(292 from 65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
   183   readline(270 from -1) -> (27) Accept-Encoding: identity\r\n
   181   readline(262 from -1) -> (27) Accept-Encoding: identity\r\n
   184   readline(243 from -1) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n
   182   readline(235 from -1) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n
   185   readline(214 from -1) -> (214) x-hgarg-1: bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%2
   183   readline(206 from -1) -> (206) x-hgarg-1: bundlecaps=HG20%2Cbundle2%3DHG20%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Ali
   186   read limit reached; closing socket
   184   read limit reached; closing socket
   187 
   185 
   188   $ rm -f error.log
   186   $ rm -f error.log
   189 
   187 
   190 Now do a variation using POST to send arguments
   188 Now do a variation using POST to send arguments
   199   $ killdaemons.py $DAEMON_PIDS
   197   $ killdaemons.py $DAEMON_PIDS
   200 
   198 
   201   $ cat error.log
   199   $ cat error.log
   202   readline(315 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   200   readline(315 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   203   readline(282 from -1) -> (27) Accept-Encoding: identity\r\n
   201   readline(282 from -1) -> (27) Accept-Encoding: identity\r\n
   204   readline(255 from -1) -> (8) vary: \r\n
   202   readline(255 from -1) -> (35) accept: application/mercurial-0.1\r\n
   205   readline(247 from -1) -> (35) accept: application/mercurial-0.1\r\n
   203   readline(220 from -1) -> (23) host: localhost:$HGPORT\r\n
   206   readline(212 from -1) -> (23) host: localhost:$HGPORT\r\n
   204   readline(197 from -1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   207   readline(189 from -1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   205   readline(148 from -1) -> (2) \r\n
   208   readline(140 from -1) -> (2) \r\n
       
   209   write(36) -> HTTP/1.1 200 Script output follows\r\n
   206   write(36) -> HTTP/1.1 200 Script output follows\r\n
   210   write(23) -> Server: badhttpserver\r\n
   207   write(23) -> Server: badhttpserver\r\n
   211   write(37) -> Date: Fri, 14 Apr 2017 00:00:00 GMT\r\n
   208   write(37) -> Date: Fri, 14 Apr 2017 00:00:00 GMT\r\n
   212   write(41) -> Content-Type: application/mercurial-0.1\r\n
   209   write(41) -> Content-Type: application/mercurial-0.1\r\n
   213   write(21) -> Content-Length: 418\r\n
   210   write(21) -> Content-Length: 418\r\n
   214   write(2) -> \r\n
   211   write(2) -> \r\n
   215   write(418) -> lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch streamreqs=generaldelta,revlogv1 bundle2=HG20%0Achangegroup%3D01%2C02%0Adigests%3Dmd5%2Csha1%2Csha512%0Aerror%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushkey%0Ahgtagsfnodes%0Alistkeys%0Apushkey%0Aremote-changegroup%3Dhttp%2Chttps unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024 httppostargs httpmediatype=0.1rx,0.1tx,0.2tx compression=none
   212   write(418) -> lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch streamreqs=generaldelta,revlogv1 bundle2=HG20%0Achangegroup%3D01%2C02%0Adigests%3Dmd5%2Csha1%2Csha512%0Aerror%3Dabort%2Cunsupportedcontent%2Cpushraced%2Cpushkey%0Ahgtagsfnodes%0Alistkeys%0Apushkey%0Aremote-changegroup%3Dhttp%2Chttps unbundle=HG10GZ,HG10BZ,HG10UN httpheader=1024 httppostargs httpmediatype=0.1rx,0.1tx,0.2tx compression=none
   216   readline(138 from 65537) -> (27) POST /?cmd=batch HTTP/1.1\r\n
   213   readline(146 from 65537) -> (27) POST /?cmd=batch HTTP/1.1\r\n
   217   readline(111 from -1) -> (27) Accept-Encoding: identity\r\n
   214   readline(119 from -1) -> (27) Accept-Encoding: identity\r\n
   218   readline(84 from -1) -> (41) content-type: application/mercurial-0.1\r\n
   215   readline(92 from -1) -> (41) content-type: application/mercurial-0.1\r\n
   219   readline(43 from -1) -> (19) vary: X-HgProto-1\r\n
   216   readline(51 from -1) -> (19) vary: X-HgProto-1\r\n
   220   readline(24 from -1) -> (19) x-hgargs-post: 28\r\n
   217   readline(32 from -1) -> (19) x-hgargs-post: 28\r\n
   221   readline(5 from -1) -> (5) x-hgp
   218   readline(13 from -1) -> (13) x-hgproto-1: 
   222   read limit reached; closing socket
   219   read limit reached; closing socket
   223   readline(315 from 65537) -> (27) POST /?cmd=batch HTTP/1.1\r\n
   220   readline(315 from 65537) -> (27) POST /?cmd=batch HTTP/1.1\r\n
   224   readline(288 from -1) -> (27) Accept-Encoding: identity\r\n
   221   readline(288 from -1) -> (27) Accept-Encoding: identity\r\n
   225   readline(261 from -1) -> (41) content-type: application/mercurial-0.1\r\n
   222   readline(261 from -1) -> (41) content-type: application/mercurial-0.1\r\n
   226   readline(220 from -1) -> (19) vary: X-HgProto-1\r\n
   223   readline(220 from -1) -> (19) vary: X-HgProto-1\r\n
   251   $ killdaemons.py $DAEMON_PIDS
   248   $ killdaemons.py $DAEMON_PIDS
   252 
   249 
   253   $ cat error.log
   250   $ cat error.log
   254   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   251   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   255   readline(-1) -> (27) Accept-Encoding: identity\r\n
   252   readline(-1) -> (27) Accept-Encoding: identity\r\n
   256   readline(-1) -> (8) vary: \r\n
       
   257   readline(-1) -> (35) accept: application/mercurial-0.1\r\n
   253   readline(-1) -> (35) accept: application/mercurial-0.1\r\n
   258   readline(-1) -> (23) host: localhost:$HGPORT\r\n
   254   readline(-1) -> (23) host: localhost:$HGPORT\r\n
   259   readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   255   readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   260   readline(-1) -> (2) \r\n
   256   readline(-1) -> (2) \r\n
   261   write(1 from 36) -> (0) H
   257   write(1 from 36) -> (0) H
   277   $ killdaemons.py $DAEMON_PIDS
   273   $ killdaemons.py $DAEMON_PIDS
   278 
   274 
   279   $ cat error.log
   275   $ cat error.log
   280   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   276   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   281   readline(-1) -> (27) Accept-Encoding: identity\r\n
   277   readline(-1) -> (27) Accept-Encoding: identity\r\n
   282   readline(-1) -> (8) vary: \r\n
       
   283   readline(-1) -> (35) accept: application/mercurial-0.1\r\n
   278   readline(-1) -> (35) accept: application/mercurial-0.1\r\n
   284   readline(-1) -> (23) host: localhost:$HGPORT\r\n
   279   readline(-1) -> (23) host: localhost:$HGPORT\r\n
   285   readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   280   readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   286   readline(-1) -> (2) \r\n
   281   readline(-1) -> (2) \r\n
   287   write(36 from 36) -> (144) HTTP/1.1 200 Script output follows\r\n
   282   write(36 from 36) -> (144) HTTP/1.1 200 Script output follows\r\n
   313   $ killdaemons.py $DAEMON_PIDS
   308   $ killdaemons.py $DAEMON_PIDS
   314 
   309 
   315   $ cat error.log
   310   $ cat error.log
   316   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   311   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   317   readline(-1) -> (27) Accept-Encoding: identity\r\n
   312   readline(-1) -> (27) Accept-Encoding: identity\r\n
   318   readline(-1) -> (8) vary: \r\n
       
   319   readline(-1) -> (35) accept: application/mercurial-0.1\r\n
   313   readline(-1) -> (35) accept: application/mercurial-0.1\r\n
   320   readline(-1) -> (23) host: localhost:$HGPORT\r\n
   314   readline(-1) -> (23) host: localhost:$HGPORT\r\n
   321   readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   315   readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   322   readline(-1) -> (2) \r\n
   316   readline(-1) -> (2) \r\n
   323   write(36 from 36) -> (659) HTTP/1.1 200 Script output follows\r\n
   317   write(36 from 36) -> (659) HTTP/1.1 200 Script output follows\r\n
   357   $ killdaemons.py $DAEMON_PIDS
   351   $ killdaemons.py $DAEMON_PIDS
   358 
   352 
   359   $ cat error.log
   353   $ cat error.log
   360   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   354   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   361   readline(-1) -> (27) Accept-Encoding: identity\r\n
   355   readline(-1) -> (27) Accept-Encoding: identity\r\n
   362   readline(-1) -> (8) vary: \r\n
       
   363   readline(-1) -> (35) accept: application/mercurial-0.1\r\n
   356   readline(-1) -> (35) accept: application/mercurial-0.1\r\n
   364   readline(-1) -> (23) host: localhost:$HGPORT\r\n
   357   readline(-1) -> (23) host: localhost:$HGPORT\r\n
   365   readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   358   readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   366   readline(-1) -> (2) \r\n
   359   readline(-1) -> (2) \r\n
   367   write(36 from 36) -> (724) HTTP/1.1 200 Script output follows\r\n
   360   write(36 from 36) -> (724) HTTP/1.1 200 Script output follows\r\n
   410   $ killdaemons.py $DAEMON_PIDS
   403   $ killdaemons.py $DAEMON_PIDS
   411 
   404 
   412   $ cat error.log
   405   $ cat error.log
   413   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   406   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   414   readline(-1) -> (27) Accept-Encoding: identity\r\n
   407   readline(-1) -> (27) Accept-Encoding: identity\r\n
   415   readline(-1) -> (8) vary: \r\n
       
   416   readline(-1) -> (35) accept: application/mercurial-0.1\r\n
   408   readline(-1) -> (35) accept: application/mercurial-0.1\r\n
   417   readline(-1) -> (23) host: localhost:$HGPORT\r\n
   409   readline(-1) -> (23) host: localhost:$HGPORT\r\n
   418   readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   410   readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   419   readline(-1) -> (2) \r\n
   411   readline(-1) -> (2) \r\n
   420   write(36 from 36) -> (859) HTTP/1.1 200 Script output follows\r\n
   412   write(36 from 36) -> (859) HTTP/1.1 200 Script output follows\r\n
   472   $ killdaemons.py $DAEMON_PIDS
   464   $ killdaemons.py $DAEMON_PIDS
   473 
   465 
   474   $ cat error.log
   466   $ cat error.log
   475   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   467   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   476   readline(-1) -> (27) Accept-Encoding: identity\r\n
   468   readline(-1) -> (27) Accept-Encoding: identity\r\n
   477   readline(-1) -> (8) vary: \r\n
       
   478   readline(-1) -> (35) accept: application/mercurial-0.1\r\n
   469   readline(-1) -> (35) accept: application/mercurial-0.1\r\n
   479   readline(-1) -> (23) host: localhost:$HGPORT\r\n
   470   readline(-1) -> (23) host: localhost:$HGPORT\r\n
   480   readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   471   readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   481   readline(-1) -> (2) \r\n
   472   readline(-1) -> (2) \r\n
   482   write(36 from 36) -> (897) HTTP/1.1 200 Script output follows\r\n
   473   write(36 from 36) -> (897) HTTP/1.1 200 Script output follows\r\n
   536   $ killdaemons.py $DAEMON_PIDS
   527   $ killdaemons.py $DAEMON_PIDS
   537 
   528 
   538   $ cat error.log
   529   $ cat error.log
   539   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   530   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   540   readline(-1) -> (27) Accept-Encoding: identity\r\n
   531   readline(-1) -> (27) Accept-Encoding: identity\r\n
   541   readline(-1) -> (8) vary: \r\n
       
   542   readline(-1) -> (35) accept: application/mercurial-0.1\r\n
   532   readline(-1) -> (35) accept: application/mercurial-0.1\r\n
   543   readline(-1) -> (23) host: localhost:$HGPORT\r\n
   533   readline(-1) -> (23) host: localhost:$HGPORT\r\n
   544   readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   534   readline(-1) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n
   545   readline(-1) -> (2) \r\n
   535   readline(-1) -> (2) \r\n
   546   write(36 from 36) -> (909) HTTP/1.1 200 Script output follows\r\n
   536   write(36 from 36) -> (909) HTTP/1.1 200 Script output follows\r\n