This test case is now less sensitive to change of unrelated bits of the
client/server exchange.
Since this introduce some churn in the output, we do it independently for each
test cases.
( )
Alphare |
hg-reviewers |
This test case is now less sensitive to change of unrelated bits of the
client/server exchange.
Since this introduce some churn in the output, we do it independently for each
test cases.
No Linters Available |
No Unit Test Coverage |
Path | Packages | |||
---|---|---|---|---|
M | tests/test-http-bad-server.t (21 lines) |
Commit | Parents | Author | Summary | Date |
---|---|---|---|---|
8a44c8940ebf | 2c1994ef0468 | Pierre-Yves David | Jan 21 2022, 1:04 PM |
readline(7 from *) -> (7) Accept- (glob) | readline(7 from *) -> (7) Accept- (glob) | ||||
read limit reached; closing socket | read limit reached; closing socket | ||||
$ rm -f error.log | $ rm -f error.log | ||||
Failure on subsequent HTTP request on the same socket (cmd?batch) | Failure on subsequent HTTP request on the same socket (cmd?batch) | ||||
----------------------------------------------------------------- | ----------------------------------------------------------------- | ||||
$ hg serve --config badserver.close-after-recv-bytes=210,223 -p $HGPORT -d --pid-file=hg.pid -E error.log | $ hg serve \ | ||||
> --config badserver.close-after-recv-patterns="GET /\?cmd=batch," \ | |||||
> --config badserver.close-after-recv-bytes=15,223 \ | |||||
> -p $HGPORT -d --pid-file=hg.pid -E error.log | |||||
$ cat hg.pid > $DAEMON_PIDS | $ cat hg.pid > $DAEMON_PIDS | ||||
$ hg clone http://localhost:$HGPORT/ clone | $ hg clone http://localhost:$HGPORT/ clone | ||||
abort: error: bad HTTP status line: * (glob) | abort: error: bad HTTP status line: * (glob) | ||||
[100] | [100] | ||||
$ killdaemons.py $DAEMON_PIDS | $ killdaemons.py $DAEMON_PIDS | ||||
$ cat error.log | $ cat error.log | ||||
readline(210 from ~) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n | readline(~) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n | ||||
readline(177 from *) -> (27) Accept-Encoding: identity\r\n (glob) | readline(*) -> (27) Accept-Encoding: identity\r\n (glob) | ||||
readline(150 from *) -> (35) accept: application/mercurial-0.1\r\n (glob) | readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob) | ||||
readline(115 from *) -> (*) host: localhost:$HGPORT\r\n (glob) | readline(*) -> (*) host: localhost:$HGPORT\r\n (glob) | ||||
readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) | readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob) | ||||
readline(* from *) -> (2) \r\n (glob) | readline(*) -> (2) \r\n (glob) | ||||
sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !) | sendall(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py36 !) | ||||
sendall(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !) | sendall(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !) | ||||
write(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !) | write(160) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 431\r\n\r\n (py3 no-py36 !) | ||||
write(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !) | write(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !) | ||||
write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !) | write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !) | ||||
write(23) -> Server: badhttpserver\r\n (no-py3 !) | write(23) -> Server: badhttpserver\r\n (no-py3 !) | ||||
write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !) | write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !) | ||||
write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !) | write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !) | ||||
write(21) -> Content-Length: 431\r\n (no-py3 !) | write(21) -> Content-Length: 431\r\n (no-py3 !) | ||||
write(2) -> \r\n (no-py3 !) | write(2) -> \r\n (no-py3 !) | ||||
write(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !) | write(431) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !) | ||||
readline(4? from ~) -> (26) GET /?cmd=batch HTTP/1.1\r\n (glob) | readline(~) -> (26) GET /?cmd=batch HTTP/1.1\r\n (glob) | ||||
readline(1? from *) -> (1?) Accept-Encoding* (glob) | readline(*) -> (1?) Accept-Encoding* (glob) | ||||
read limit reached; closing socket | read limit reached; closing socket | ||||
readline(223 from ~) -> (26) GET /?cmd=batch HTTP/1.1\r\n | readline(223 from ~) -> (26) GET /?cmd=batch HTTP/1.1\r\n | ||||
readline(197 from *) -> (27) Accept-Encoding: identity\r\n (glob) | readline(197 from *) -> (27) Accept-Encoding: identity\r\n (glob) | ||||
readline(170 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob) | readline(170 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob) | ||||
readline(141 from *) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob) | readline(141 from *) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob) | ||||
readline(100 from *) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob) | readline(100 from *) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob) | ||||
readline(39 from *) -> (35) accept: application/mercurial-0.1\r\n (glob) | readline(39 from *) -> (35) accept: application/mercurial-0.1\r\n (glob) | ||||
readline(4 from *) -> (4) host (glob) | readline(4 from *) -> (4) host (glob) |