# HG changeset patch # User Pierre-Yves David # Date 1642783986 -3600 # Node ID 52aa9b505c8fbecb727a2c4fb94692b52d7e8cc3 # Parent 387f47807ca790aa987562772906a195b4e40380 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/D12064 diff -r 387f47807ca7 -r 52aa9b505c8f tests/test-http-bad-server.t --- a/tests/test-http-bad-server.t Fri Jan 21 17:49:59 2022 +0100 +++ b/tests/test-http-bad-server.t Fri Jan 21 17:53:06 2022 +0100 @@ -1079,7 +1079,9 @@ Server stops sending in middle of bundle2 payload chunk ------------------------------------------------------- - $ hg serve --config badserver.close-after-send-bytes=1530 -p $HGPORT -d --pid-file=hg.pid -E error.log + $ hg serve \ + > --config badserver.close-after-send-patterns=':jL\0\0\x00\0\0\0\0\0\r\n' \ + > -p $HGPORT -d --pid-file=hg.pid -E error.log $ cat hg.pid > $DAEMON_PIDS $ hg clone http://localhost:$HGPORT/ clone @@ -1095,14 +1097,14 @@ #if py36 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14 - sendall(167 from 167) -> (571) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n - sendall(6 from 6) -> (565) 1\\r\\n\x04\\r\\n (esc) - sendall(9 from 9) -> (556) 4\r\nnone\r\n - sendall(9 from 9) -> (547) 4\r\nHG20\r\n - sendall(9 from 9) -> (538) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - sendall(9 from 9) -> (529) 4\\r\\n\x00\x00\x00)\\r\\n (esc) - sendall(47 from 47) -> (482) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) - sendall(9 from 9) -> (473) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc) + sendall(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n + sendall(6) -> 1\\r\\n\x04\\r\\n (esc) + sendall(9) -> 4\r\nnone\r\n + sendall(9) -> 4\r\nHG20\r\n + sendall(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) + sendall(9) -> 4\\r\\n\x00\x00\x00)\\r\\n (esc) + sendall(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) + sendall(9) -> 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc) sendall(473 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f (2) \r\n (py3 !) - write(167 from 167) -> (571) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !) - write(41 from 41) -> (601) Content-Type: application/mercurial-0.2\r\n - write(28 from 28) -> (573) Transfer-Encoding: chunked\r\n - write(2 from 2) -> (571) \r\n - write(6 from 6) -> (565) 1\\r\\n\x04\\r\\n (esc) - write(9 from 9) -> (556) 4\r\nnone\r\n - write(9 from 9) -> (547) 4\r\nHG20\r\n - write(9 from 9) -> (538) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) - write(9 from 9) -> (529) 4\\r\\n\x00\x00\x00)\\r\\n (esc) - write(47 from 47) -> (482) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) - write(9 from 9) -> (473) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc) + write(167) -> HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercurial-0.2\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !) + write(41) -> Content-Type: application/mercurial-0.2\r\n + write(28) -> Transfer-Encoding: chunked\r\n (no-py3 !) + write(2) -> \r\n (no-py3 !) + write(6) -> 1\\r\\n\x04\\r\\n (esc) + write(9) -> 4\r\nnone\r\n + write(9) -> 4\r\nHG20\r\n + write(9) -> 4\\r\\n\x00\x00\x00\x00\\r\\n (esc) + write(9) -> 4\\r\\n\x00\x00\x00)\\r\\n (esc) + write(47) -> 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc) + write(9) -> 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc) write(473 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x96\xee\x1dsT\xc4\xadsr\x04vr\xc3j\x1fV\x1e:jL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00>6a3df4de388f3c4f8e28f4f9a814299a3cbb5f50\\ntest\\n0 0\\nfoo\\n\\ninitial\x00\x00\x00\x00\x00\x00\x00\xa1j=\xf4\xde8\x8f