test-http-bad-server: use the new pattern-reading for a test-case
authorPierre-Yves David <pierre-yves.david@octobus.net>
Fri, 21 Jan 2022 19:04:10 +0100
changeset 48639 ebd515d129c6
parent 48638 1ae83cafaa39
child 48640 316b912c47f5
test-http-bad-server: use the new pattern-reading for a test-case 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. Differential Revision: https://phab.mercurial-scm.org/D12070
tests/test-http-bad-server.t
--- a/tests/test-http-bad-server.t	Sun Jan 23 19:51:00 2022 +0100
+++ b/tests/test-http-bad-server.t	Fri Jan 21 19:04:10 2022 +0100
@@ -112,7 +112,10 @@
 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
   $ hg clone http://localhost:$HGPORT/ clone
   abort: error: bad HTTP status line: * (glob)
@@ -121,12 +124,12 @@
   $ killdaemons.py $DAEMON_PIDS
 
   $ cat error.log
-  readline(210 from ~) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
-  readline(177 from *) -> (27) Accept-Encoding: identity\r\n (glob)
-  readline(150 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
-  readline(115 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
-  readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
-  readline(* from *) -> (2) \r\n (glob)
+  readline(~) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
+  readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
+  readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
+  readline(*) -> (*) 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) -> 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 !)
@@ -138,8 +141,8 @@
   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(4? from ~) -> (26) GET /?cmd=batch HTTP/1.1\r\n (glob)
-  readline(1? from *) -> (1?) Accept-Encoding* (glob)
+  readline(~) -> (26) GET /?cmd=batch HTTP/1.1\r\n (glob)
+  readline(*) -> (1?) Accept-Encoding* (glob)
   read limit reached; closing socket
   readline(223 from ~) -> (26) GET /?cmd=batch HTTP/1.1\r\n
   readline(197 from *) -> (27) Accept-Encoding: identity\r\n (glob)