test-http-bad-server: move on test from bytes-count to pattern
This specific test case is now using the new "close when a pattern is seen"
approach compared to the more fragile "that many bytes were sent" approach.
Since such change are still a bit noisy, we split each change in there own
changesets.
Differential Revision: https://phab.mercurial-scm.org/D12052
--- a/tests/test-http-bad-server.t Fri Jan 21 15:52:48 2022 +0100
+++ b/tests/test-http-bad-server.t Fri Jan 21 16:02:26 2022 +0100
@@ -415,7 +415,9 @@
Server sends an incomplete HTTP response body to batch request
--------------------------------------------------------------
- $ hg serve --config badserver.close-after-send-bytes=774 -p $HGPORT -d --pid-file=hg.pid -E error.log
+ $ hg serve \
+ > --config badserver.close-after-send-patterns=96ee1d7354c4ad7372047672 \
+ > -p $HGPORT -d --pid-file=hg.pid -E error.log
$ cat hg.pid > $DAEMON_PIDS
TODO client spews a stack due to uncaught ValueError in batch.results()
@@ -436,17 +438,17 @@
readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
readline(*) -> (2) \r\n (glob)
- sendall(160 from 160) -> (614) 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 from 431) -> (183) 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 from 160) -> (633) 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 from 431) -> (183) 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 from 36) -> (738) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
- write(23 from 23) -> (715) Server: badhttpserver\r\n (no-py3 !)
- write(37 from 37) -> (678) Date: $HTTP_DATE$\r\n (no-py3 !)
- write(41 from 41) -> (637) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
- write(21 from 21) -> (616) Content-Length: 431\r\n (no-py3 !)
- write(2 from 2) -> (614) \r\n (no-py3 !)
- write(431 from 431) -> (183) 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 !)
+ 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 !)
+ 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(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
+ write(23) -> Server: badhttpserver\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(21) -> Content-Length: 431\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 !)
readline(~) -> (26) GET /?cmd=batch HTTP/1.1\r\n
readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
@@ -456,16 +458,16 @@
readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
readline(*) -> (2) \r\n (glob)
- sendall(159 from 159) -> (24) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !)
+ sendall(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py36 !)
sendall(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (py36 !)
- write(159 from 159) -> (24) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py3 no-py36 !)
+ write(159) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.1\r\nContent-Length: 42\r\n\r\n (py3 no-py36 !)
write(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (py3 no-py36 !)
- write(36 from 36) -> (147) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
- write(23 from 23) -> (124) Server: badhttpserver\r\n (no-py3 !)
- write(37 from 37) -> (87) Date: $HTTP_DATE$\r\n (no-py3 !)
- write(41 from 41) -> (46) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
- write(20 from 20) -> (26) Content-Length: 42\r\n (no-py3 !)
- write(2 from 2) -> (24) \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(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
+ write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
+ write(20) -> Content-Length: 42\r\n (no-py3 !)
+ write(2) -> \r\n (no-py3 !)
write(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (no-py3 !)
write limit reached; closing socket
$LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=batch': (glob)