tests/test-http-bad-server.t
changeset 45839 ebee234d952a
parent 44412 edc8504bc26b
child 45906 95c4cca641f6
equal deleted inserted replaced
45838:ae00e170f2d1 45839:ebee234d952a
    39   $ hg serve --config badserver.closebeforeaccept=true -p $HGPORT -d --pid-file=hg.pid
    39   $ hg serve --config badserver.closebeforeaccept=true -p $HGPORT -d --pid-file=hg.pid
    40   $ cat hg.pid > $DAEMON_PIDS
    40   $ cat hg.pid > $DAEMON_PIDS
    41 
    41 
    42   $ hg clone http://localhost:$HGPORT/ clone
    42   $ hg clone http://localhost:$HGPORT/ clone
    43   abort: error: (\$ECONNRESET\$|\$EADDRNOTAVAIL\$) (re)
    43   abort: error: (\$ECONNRESET\$|\$EADDRNOTAVAIL\$) (re)
    44   [255]
    44   [100]
    45 
    45 
    46 (The server exits on its own, but there is a race between that and starting a new server.
    46 (The server exits on its own, but there is a race between that and starting a new server.
    47 So ensure the process is dead.)
    47 So ensure the process is dead.)
    48 
    48 
    49   $ killdaemons.py $DAEMON_PIDS
    49   $ killdaemons.py $DAEMON_PIDS
    61 
    61 
    62 The flakiness in this output was observable easily with
    62 The flakiness in this output was observable easily with
    63 --runs-per-test=20 on macOS 10.12 during the freeze for 4.2.
    63 --runs-per-test=20 on macOS 10.12 during the freeze for 4.2.
    64   $ hg clone http://localhost:$HGPORT/ clone
    64   $ hg clone http://localhost:$HGPORT/ clone
    65   abort: error: * (glob)
    65   abort: error: * (glob)
    66   [255]
    66   [100]
    67 
    67 
    68   $ killdaemons.py $DAEMON_PIDS
    68   $ killdaemons.py $DAEMON_PIDS
    69 
    69 
    70 Failure to read all bytes in initial HTTP request should yield connection related error message
    70 Failure to read all bytes in initial HTTP request should yield connection related error message
    71 
    71 
    72   $ hg serve --config badserver.closeafterrecvbytes=1 -p $HGPORT -d --pid-file=hg.pid -E error.log
    72   $ hg serve --config badserver.closeafterrecvbytes=1 -p $HGPORT -d --pid-file=hg.pid -E error.log
    73   $ cat hg.pid > $DAEMON_PIDS
    73   $ cat hg.pid > $DAEMON_PIDS
    74 
    74 
    75   $ hg clone http://localhost:$HGPORT/ clone
    75   $ hg clone http://localhost:$HGPORT/ clone
    76   abort: error: bad HTTP status line: * (glob)
    76   abort: error: bad HTTP status line: * (glob)
    77   [255]
    77   [100]
    78 
    78 
    79   $ killdaemons.py $DAEMON_PIDS
    79   $ killdaemons.py $DAEMON_PIDS
    80 
    80 
    81   $ cat error.log
    81   $ cat error.log
    82   readline(1 from 65537) -> (1) G
    82   readline(1 from 65537) -> (1) G
    88 
    88 
    89   $ hg serve --config badserver.closeafterrecvbytes=40 -p $HGPORT -d --pid-file=hg.pid -E error.log
    89   $ hg serve --config badserver.closeafterrecvbytes=40 -p $HGPORT -d --pid-file=hg.pid -E error.log
    90   $ cat hg.pid > $DAEMON_PIDS
    90   $ cat hg.pid > $DAEMON_PIDS
    91   $ hg clone http://localhost:$HGPORT/ clone
    91   $ hg clone http://localhost:$HGPORT/ clone
    92   abort: error: bad HTTP status line: * (glob)
    92   abort: error: bad HTTP status line: * (glob)
    93   [255]
    93   [100]
    94 
    94 
    95   $ killdaemons.py $DAEMON_PIDS
    95   $ killdaemons.py $DAEMON_PIDS
    96 
    96 
    97   $ cat error.log
    97   $ cat error.log
    98   readline(40 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
    98   readline(40 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   105 
   105 
   106   $ hg serve --config badserver.closeafterrecvbytes=210,223 -p $HGPORT -d --pid-file=hg.pid -E error.log
   106   $ hg serve --config badserver.closeafterrecvbytes=210,223 -p $HGPORT -d --pid-file=hg.pid -E error.log
   107   $ cat hg.pid > $DAEMON_PIDS
   107   $ cat hg.pid > $DAEMON_PIDS
   108   $ hg clone http://localhost:$HGPORT/ clone
   108   $ hg clone http://localhost:$HGPORT/ clone
   109   abort: error: bad HTTP status line: * (glob)
   109   abort: error: bad HTTP status line: * (glob)
   110   [255]
   110   [100]
   111 
   111 
   112   $ killdaemons.py $DAEMON_PIDS
   112   $ killdaemons.py $DAEMON_PIDS
   113 
   113 
   114   $ cat error.log
   114   $ cat error.log
   115   readline(210 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   115   readline(210 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   148   $ hg serve --config badserver.closeafterrecvbytes=308,317,304 -p $HGPORT -d --pid-file=hg.pid -E error.log
   148   $ hg serve --config badserver.closeafterrecvbytes=308,317,304 -p $HGPORT -d --pid-file=hg.pid -E error.log
   149   $ cat hg.pid > $DAEMON_PIDS
   149   $ cat hg.pid > $DAEMON_PIDS
   150   $ hg clone http://localhost:$HGPORT/ clone
   150   $ hg clone http://localhost:$HGPORT/ clone
   151   requesting all changes
   151   requesting all changes
   152   abort: error: bad HTTP status line: * (glob)
   152   abort: error: bad HTTP status line: * (glob)
   153   [255]
   153   [100]
   154 
   154 
   155   $ killdaemons.py $DAEMON_PIDS
   155   $ killdaemons.py $DAEMON_PIDS
   156 
   156 
   157   $ cat error.log
   157   $ cat error.log
   158   readline(1 from -1) -> (1) x (?)
   158   readline(1 from -1) -> (1) x (?)
   215   $ hg serve --config experimental.httppostargs=true --config badserver.closeafterrecvbytes=329,344 -p $HGPORT -d --pid-file=hg.pid -E error.log
   215   $ hg serve --config experimental.httppostargs=true --config badserver.closeafterrecvbytes=329,344 -p $HGPORT -d --pid-file=hg.pid -E error.log
   216   $ cat hg.pid > $DAEMON_PIDS
   216   $ cat hg.pid > $DAEMON_PIDS
   217 
   217 
   218   $ hg clone http://localhost:$HGPORT/ clone
   218   $ hg clone http://localhost:$HGPORT/ clone
   219   abort: error: bad HTTP status line: * (glob)
   219   abort: error: bad HTTP status line: * (glob)
   220   [255]
   220   [100]
   221 
   221 
   222   $ killdaemons.py $DAEMON_PIDS
   222   $ killdaemons.py $DAEMON_PIDS
   223 
   223 
   224   $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
   224   $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
   225   readline(329 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   225   readline(329 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   275   $ hg serve --config badserver.closeaftersendbytes=1 -p $HGPORT -d --pid-file=hg.pid -E error.log
   275   $ hg serve --config badserver.closeaftersendbytes=1 -p $HGPORT -d --pid-file=hg.pid -E error.log
   276   $ cat hg.pid > $DAEMON_PIDS
   276   $ cat hg.pid > $DAEMON_PIDS
   277 
   277 
   278   $ hg clone http://localhost:$HGPORT/ clone
   278   $ hg clone http://localhost:$HGPORT/ clone
   279   abort: error: bad HTTP status line: H
   279   abort: error: bad HTTP status line: H
   280   [255]
   280   [100]
   281 
   281 
   282   $ killdaemons.py $DAEMON_PIDS
   282   $ killdaemons.py $DAEMON_PIDS
   283 
   283 
   284   $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
   284   $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
   285   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
   285   readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n