tests/test-http-bad-server.t
changeset 37556 b77aa48ba690
parent 37555 930c433eb311
child 37842 326b174c6a47
child 37845 b4b7427b5786
equal deleted inserted replaced
37555:930c433eb311 37556:b77aa48ba690
    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