##// END OF EJS Templates
test-http-bad-server: move the extension in `testlib`...
marmoute -
r49451:089cb4d6 default
parent child Browse files
Show More
@@ -1,96 +1,96
1 #require test-repo
1 #require test-repo
2
2
3 $ . "$TESTDIR/helpers-testrepo.sh"
3 $ . "$TESTDIR/helpers-testrepo.sh"
4 $ check_code="$TESTDIR"/../contrib/check-code.py
4 $ check_code="$TESTDIR"/../contrib/check-code.py
5 $ cd "$TESTDIR"/..
5 $ cd "$TESTDIR"/..
6
6
7 New errors are not allowed. Warnings are strongly discouraged.
7 New errors are not allowed. Warnings are strongly discouraged.
8 (The writing "no-che?k-code" is for not skipping this file when checking.)
8 (The writing "no-che?k-code" is for not skipping this file when checking.)
9
9
10 $ testrepohg locate \
10 $ testrepohg locate \
11 > -X contrib/python-zstandard \
11 > -X contrib/python-zstandard \
12 > -X hgext/fsmonitor/pywatchman \
12 > -X hgext/fsmonitor/pywatchman \
13 > -X mercurial/thirdparty \
13 > -X mercurial/thirdparty \
14 > -X mercurial/pythoncapi_compat.h \
14 > -X mercurial/pythoncapi_compat.h \
15 > | sed 's-\\-/-g' | "$check_code" --warnings --per-file=0 - || false
15 > | sed 's-\\-/-g' | "$check_code" --warnings --per-file=0 - || false
16 Skipping contrib/automation/hgautomation/__init__.py it has no-che?k-code (glob)
16 Skipping contrib/automation/hgautomation/__init__.py it has no-che?k-code (glob)
17 Skipping contrib/automation/hgautomation/aws.py it has no-che?k-code (glob)
17 Skipping contrib/automation/hgautomation/aws.py it has no-che?k-code (glob)
18 Skipping contrib/automation/hgautomation/cli.py it has no-che?k-code (glob)
18 Skipping contrib/automation/hgautomation/cli.py it has no-che?k-code (glob)
19 Skipping contrib/automation/hgautomation/linux.py it has no-che?k-code (glob)
19 Skipping contrib/automation/hgautomation/linux.py it has no-che?k-code (glob)
20 Skipping contrib/automation/hgautomation/pypi.py it has no-che?k-code (glob)
20 Skipping contrib/automation/hgautomation/pypi.py it has no-che?k-code (glob)
21 Skipping contrib/automation/hgautomation/ssh.py it has no-che?k-code (glob)
21 Skipping contrib/automation/hgautomation/ssh.py it has no-che?k-code (glob)
22 Skipping contrib/automation/hgautomation/try_server.py it has no-che?k-code (glob)
22 Skipping contrib/automation/hgautomation/try_server.py it has no-che?k-code (glob)
23 Skipping contrib/automation/hgautomation/windows.py it has no-che?k-code (glob)
23 Skipping contrib/automation/hgautomation/windows.py it has no-che?k-code (glob)
24 Skipping contrib/automation/hgautomation/winrm.py it has no-che?k-code (glob)
24 Skipping contrib/automation/hgautomation/winrm.py it has no-che?k-code (glob)
25 Skipping contrib/fuzz/FuzzedDataProvider.h it has no-che?k-code (glob)
25 Skipping contrib/fuzz/FuzzedDataProvider.h it has no-che?k-code (glob)
26 Skipping contrib/fuzz/standalone_fuzz_target_runner.cc it has no-che?k-code (glob)
26 Skipping contrib/fuzz/standalone_fuzz_target_runner.cc it has no-che?k-code (glob)
27 Skipping contrib/packaging/hgpackaging/cli.py it has no-che?k-code (glob)
27 Skipping contrib/packaging/hgpackaging/cli.py it has no-che?k-code (glob)
28 Skipping contrib/packaging/hgpackaging/downloads.py it has no-che?k-code (glob)
28 Skipping contrib/packaging/hgpackaging/downloads.py it has no-che?k-code (glob)
29 Skipping contrib/packaging/hgpackaging/inno.py it has no-che?k-code (glob)
29 Skipping contrib/packaging/hgpackaging/inno.py it has no-che?k-code (glob)
30 Skipping contrib/packaging/hgpackaging/py2exe.py it has no-che?k-code (glob)
30 Skipping contrib/packaging/hgpackaging/py2exe.py it has no-che?k-code (glob)
31 Skipping contrib/packaging/hgpackaging/pyoxidizer.py it has no-che?k-code (glob)
31 Skipping contrib/packaging/hgpackaging/pyoxidizer.py it has no-che?k-code (glob)
32 Skipping contrib/packaging/hgpackaging/util.py it has no-che?k-code (glob)
32 Skipping contrib/packaging/hgpackaging/util.py it has no-che?k-code (glob)
33 Skipping contrib/packaging/hgpackaging/wix.py it has no-che?k-code (glob)
33 Skipping contrib/packaging/hgpackaging/wix.py it has no-che?k-code (glob)
34 Skipping i18n/polib.py it has no-che?k-code (glob)
34 Skipping i18n/polib.py it has no-che?k-code (glob)
35 Skipping mercurial/statprof.py it has no-che?k-code (glob)
35 Skipping mercurial/statprof.py it has no-che?k-code (glob)
36 Skipping tests/badserverext.py it has no-che?k-code (glob)
36 Skipping tests/testlib/badserverext.py it has no-che?k-code (glob)
37
37
38 @commands in debugcommands.py should be in alphabetical order.
38 @commands in debugcommands.py should be in alphabetical order.
39
39
40 >>> import re
40 >>> import re
41 >>> commands = []
41 >>> commands = []
42 >>> with open('mercurial/debugcommands.py', 'rb') as fh:
42 >>> with open('mercurial/debugcommands.py', 'rb') as fh:
43 ... for line in fh:
43 ... for line in fh:
44 ... m = re.match(br"^@command\('([a-z]+)", line)
44 ... m = re.match(br"^@command\('([a-z]+)", line)
45 ... if m:
45 ... if m:
46 ... commands.append(m.group(1))
46 ... commands.append(m.group(1))
47 >>> scommands = list(sorted(commands))
47 >>> scommands = list(sorted(commands))
48 >>> for i, command in enumerate(scommands):
48 >>> for i, command in enumerate(scommands):
49 ... if command != commands[i]:
49 ... if command != commands[i]:
50 ... print('commands in debugcommands.py not sorted; first differing '
50 ... print('commands in debugcommands.py not sorted; first differing '
51 ... 'command is %s; expected %s' % (commands[i], command))
51 ... 'command is %s; expected %s' % (commands[i], command))
52 ... break
52 ... break
53
53
54 Prevent adding new files in the root directory accidentally.
54 Prevent adding new files in the root directory accidentally.
55
55
56 $ testrepohg files 'glob:*'
56 $ testrepohg files 'glob:*'
57 .arcconfig
57 .arcconfig
58 .clang-format
58 .clang-format
59 .editorconfig
59 .editorconfig
60 .hgignore
60 .hgignore
61 .hgsigs
61 .hgsigs
62 .hgtags
62 .hgtags
63 .jshintrc
63 .jshintrc
64 CONTRIBUTING
64 CONTRIBUTING
65 CONTRIBUTORS
65 CONTRIBUTORS
66 COPYING
66 COPYING
67 Makefile
67 Makefile
68 README.rst
68 README.rst
69 hg
69 hg
70 hgeditor
70 hgeditor
71 hgweb.cgi
71 hgweb.cgi
72 pyproject.toml
72 pyproject.toml
73 rustfmt.toml
73 rustfmt.toml
74 setup.py
74 setup.py
75
75
76 Prevent adding modules which could be shadowed by ancient .so/.dylib.
76 Prevent adding modules which could be shadowed by ancient .so/.dylib.
77
77
78 $ testrepohg files \
78 $ testrepohg files \
79 > mercurial/base85.py \
79 > mercurial/base85.py \
80 > mercurial/bdiff.py \
80 > mercurial/bdiff.py \
81 > mercurial/diffhelpers.py \
81 > mercurial/diffhelpers.py \
82 > mercurial/mpatch.py \
82 > mercurial/mpatch.py \
83 > mercurial/osutil.py \
83 > mercurial/osutil.py \
84 > mercurial/parsers.py \
84 > mercurial/parsers.py \
85 > mercurial/zstd.py
85 > mercurial/zstd.py
86 [1]
86 [1]
87
87
88 Keep python3 tests sorted:
88 Keep python3 tests sorted:
89 $ sort < contrib/python3-whitelist > $TESTTMP/py3sorted
89 $ sort < contrib/python3-whitelist > $TESTTMP/py3sorted
90 $ cmp contrib/python3-whitelist $TESTTMP/py3sorted || echo 'Please sort passing tests!'
90 $ cmp contrib/python3-whitelist $TESTTMP/py3sorted || echo 'Please sort passing tests!'
91
91
92 Keep Windows line endings in check
92 Keep Windows line endings in check
93
93
94 $ testrepohg files 'set:eol(dos)'
94 $ testrepohg files 'set:eol(dos)'
95 contrib/win32/hg.bat
95 contrib/win32/hg.bat
96 contrib/win32/mercurial.ini
96 contrib/win32/mercurial.ini
@@ -1,1286 +1,1286
1 #require serve zstd
1 #require serve zstd
2
2
3 Client version is embedded in HTTP request and is effectively dynamic. Pin the
3 Client version is embedded in HTTP request and is effectively dynamic. Pin the
4 version so behavior is deterministic.
4 version so behavior is deterministic.
5
5
6 $ cat > fakeversion.py << EOF
6 $ cat > fakeversion.py << EOF
7 > from mercurial import util
7 > from mercurial import util
8 > util.version = lambda: b'4.2'
8 > util.version = lambda: b'4.2'
9 > EOF
9 > EOF
10
10
11 $ cat >> $HGRCPATH << EOF
11 $ cat >> $HGRCPATH << EOF
12 > [extensions]
12 > [extensions]
13 > fakeversion = `pwd`/fakeversion.py
13 > fakeversion = `pwd`/fakeversion.py
14 > [format]
14 > [format]
15 > sparse-revlog = no
15 > sparse-revlog = no
16 > use-persistent-nodemap = no
16 > use-persistent-nodemap = no
17 > [devel]
17 > [devel]
18 > legacy.exchange = phases
18 > legacy.exchange = phases
19 > [server]
19 > [server]
20 > concurrent-push-mode = strict
20 > concurrent-push-mode = strict
21 > EOF
21 > EOF
22
22
23 $ hg init server0
23 $ hg init server0
24 $ cd server0
24 $ cd server0
25 $ touch foo
25 $ touch foo
26 $ hg -q commit -A -m initial
26 $ hg -q commit -A -m initial
27
27
28 Also disable compression because zstd is optional and causes output to vary
28 Also disable compression because zstd is optional and causes output to vary
29 and because debugging partial responses is hard when compression is involved
29 and because debugging partial responses is hard when compression is involved
30
30
31 $ cat > .hg/hgrc << EOF
31 $ cat > .hg/hgrc << EOF
32 > [extensions]
32 > [extensions]
33 > badserver = $TESTDIR/badserverext.py
33 > badserver = $TESTDIR/testlib/badserverext.py
34 > [server]
34 > [server]
35 > compressionengines = none
35 > compressionengines = none
36 > EOF
36 > EOF
37
37
38 Failure to accept() socket should result in connection related error message
38 Failure to accept() socket should result in connection related error message
39
39
40 $ hg serve --config badserver.closebeforeaccept=true -p $HGPORT -d --pid-file=hg.pid
40 $ hg serve --config badserver.closebeforeaccept=true -p $HGPORT -d --pid-file=hg.pid
41 $ cat hg.pid > $DAEMON_PIDS
41 $ cat hg.pid > $DAEMON_PIDS
42
42
43 $ hg clone http://localhost:$HGPORT/ clone
43 $ hg clone http://localhost:$HGPORT/ clone
44 abort: error: (\$ECONNRESET\$|\$EADDRNOTAVAIL\$) (re)
44 abort: error: (\$ECONNRESET\$|\$EADDRNOTAVAIL\$) (re)
45 [100]
45 [100]
46
46
47 (The server exits on its own, but there is a race between that and starting a new server.
47 (The server exits on its own, but there is a race between that and starting a new server.
48 So ensure the process is dead.)
48 So ensure the process is dead.)
49
49
50 $ killdaemons.py $DAEMON_PIDS
50 $ killdaemons.py $DAEMON_PIDS
51
51
52 Failure immediately after accept() should yield connection related error message
52 Failure immediately after accept() should yield connection related error message
53
53
54 $ hg serve --config badserver.closeafteraccept=true -p $HGPORT -d --pid-file=hg.pid
54 $ hg serve --config badserver.closeafteraccept=true -p $HGPORT -d --pid-file=hg.pid
55 $ cat hg.pid > $DAEMON_PIDS
55 $ cat hg.pid > $DAEMON_PIDS
56
56
57 TODO: this usually outputs good results, but sometimes emits abort:
57 TODO: this usually outputs good results, but sometimes emits abort:
58 error: '' on FreeBSD and OS X.
58 error: '' on FreeBSD and OS X.
59 What we ideally want are:
59 What we ideally want are:
60
60
61 abort: error: $ECONNRESET$
61 abort: error: $ECONNRESET$
62
62
63 The flakiness in this output was observable easily with
63 The flakiness in this output was observable easily with
64 --runs-per-test=20 on macOS 10.12 during the freeze for 4.2.
64 --runs-per-test=20 on macOS 10.12 during the freeze for 4.2.
65 $ hg clone http://localhost:$HGPORT/ clone
65 $ hg clone http://localhost:$HGPORT/ clone
66 abort: error: * (glob)
66 abort: error: * (glob)
67 [100]
67 [100]
68
68
69 $ killdaemons.py $DAEMON_PIDS
69 $ killdaemons.py $DAEMON_PIDS
70
70
71 Failure to read all bytes in initial HTTP request should yield connection related error message
71 Failure to read all bytes in initial HTTP request should yield connection related error message
72
72
73 $ hg serve --config badserver.closeafterrecvbytes=1 -p $HGPORT -d --pid-file=hg.pid -E error.log
73 $ hg serve --config badserver.closeafterrecvbytes=1 -p $HGPORT -d --pid-file=hg.pid -E error.log
74 $ cat hg.pid > $DAEMON_PIDS
74 $ cat hg.pid > $DAEMON_PIDS
75
75
76 $ hg clone http://localhost:$HGPORT/ clone
76 $ hg clone http://localhost:$HGPORT/ clone
77 abort: error: bad HTTP status line: * (glob)
77 abort: error: bad HTTP status line: * (glob)
78 [100]
78 [100]
79
79
80 $ killdaemons.py $DAEMON_PIDS
80 $ killdaemons.py $DAEMON_PIDS
81
81
82 $ cat error.log
82 $ cat error.log
83 readline(1 from 65537) -> (1) G
83 readline(1 from 65537) -> (1) G
84 read limit reached; closing socket
84 read limit reached; closing socket
85
85
86 $ rm -f error.log
86 $ rm -f error.log
87
87
88 Same failure, but server reads full HTTP request line
88 Same failure, but server reads full HTTP request line
89
89
90 $ hg serve --config badserver.closeafterrecvbytes=40 -p $HGPORT -d --pid-file=hg.pid -E error.log
90 $ hg serve --config badserver.closeafterrecvbytes=40 -p $HGPORT -d --pid-file=hg.pid -E error.log
91 $ cat hg.pid > $DAEMON_PIDS
91 $ cat hg.pid > $DAEMON_PIDS
92 $ hg clone http://localhost:$HGPORT/ clone
92 $ hg clone http://localhost:$HGPORT/ clone
93 abort: error: bad HTTP status line: * (glob)
93 abort: error: bad HTTP status line: * (glob)
94 [100]
94 [100]
95
95
96 $ killdaemons.py $DAEMON_PIDS
96 $ killdaemons.py $DAEMON_PIDS
97
97
98 $ cat error.log
98 $ cat error.log
99 readline(40 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
99 readline(40 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
100 readline(7 from *) -> (7) Accept- (glob)
100 readline(7 from *) -> (7) Accept- (glob)
101 read limit reached; closing socket
101 read limit reached; closing socket
102
102
103 $ rm -f error.log
103 $ rm -f error.log
104
104
105 Failure on subsequent HTTP request on the same socket (cmd?batch)
105 Failure on subsequent HTTP request on the same socket (cmd?batch)
106
106
107 $ hg serve --config badserver.closeafterrecvbytes=210,223 -p $HGPORT -d --pid-file=hg.pid -E error.log
107 $ hg serve --config badserver.closeafterrecvbytes=210,223 -p $HGPORT -d --pid-file=hg.pid -E error.log
108 $ cat hg.pid > $DAEMON_PIDS
108 $ cat hg.pid > $DAEMON_PIDS
109 $ hg clone http://localhost:$HGPORT/ clone
109 $ hg clone http://localhost:$HGPORT/ clone
110 abort: error: bad HTTP status line: * (glob)
110 abort: error: bad HTTP status line: * (glob)
111 [100]
111 [100]
112
112
113 $ killdaemons.py $DAEMON_PIDS
113 $ killdaemons.py $DAEMON_PIDS
114
114
115 $ cat error.log
115 $ cat error.log
116 readline(210 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
116 readline(210 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
117 readline(177 from *) -> (27) Accept-Encoding: identity\r\n (glob)
117 readline(177 from *) -> (27) Accept-Encoding: identity\r\n (glob)
118 readline(150 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
118 readline(150 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
119 readline(115 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
119 readline(115 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
120 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
120 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
121 readline(* from *) -> (2) \r\n (glob)
121 readline(* from *) -> (2) \r\n (glob)
122 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 !)
122 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 !)
123 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 !)
123 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 !)
124 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 !)
124 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 !)
125 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 !)
125 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 !)
126 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
126 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
127 write(23) -> Server: badhttpserver\r\n (no-py3 !)
127 write(23) -> Server: badhttpserver\r\n (no-py3 !)
128 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
128 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
129 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
129 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
130 write(21) -> Content-Length: 431\r\n (no-py3 !)
130 write(21) -> Content-Length: 431\r\n (no-py3 !)
131 write(2) -> \r\n (no-py3 !)
131 write(2) -> \r\n (no-py3 !)
132 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 !)
132 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 !)
133 readline(4? from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n (glob)
133 readline(4? from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n (glob)
134 readline(1? from *) -> (1?) Accept-Encoding* (glob)
134 readline(1? from *) -> (1?) Accept-Encoding* (glob)
135 read limit reached; closing socket
135 read limit reached; closing socket
136 readline(223 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
136 readline(223 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
137 readline(197 from *) -> (27) Accept-Encoding: identity\r\n (glob)
137 readline(197 from *) -> (27) Accept-Encoding: identity\r\n (glob)
138 readline(170 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
138 readline(170 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
139 readline(141 from *) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
139 readline(141 from *) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
140 readline(100 from *) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
140 readline(100 from *) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
141 readline(39 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
141 readline(39 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
142 readline(4 from *) -> (4) host (glob)
142 readline(4 from *) -> (4) host (glob)
143 read limit reached; closing socket
143 read limit reached; closing socket
144
144
145 $ rm -f error.log
145 $ rm -f error.log
146
146
147 Failure to read getbundle HTTP request
147 Failure to read getbundle HTTP request
148
148
149 $ hg serve --config badserver.closeafterrecvbytes=308,317,304 -p $HGPORT -d --pid-file=hg.pid -E error.log
149 $ hg serve --config badserver.closeafterrecvbytes=308,317,304 -p $HGPORT -d --pid-file=hg.pid -E error.log
150 $ cat hg.pid > $DAEMON_PIDS
150 $ cat hg.pid > $DAEMON_PIDS
151 $ hg clone http://localhost:$HGPORT/ clone
151 $ hg clone http://localhost:$HGPORT/ clone
152 requesting all changes
152 requesting all changes
153 abort: error: bad HTTP status line: * (glob)
153 abort: error: bad HTTP status line: * (glob)
154 [100]
154 [100]
155
155
156 $ killdaemons.py $DAEMON_PIDS
156 $ killdaemons.py $DAEMON_PIDS
157
157
158 $ cat error.log
158 $ cat error.log
159 readline(1 from -1) -> (1) x (?)
159 readline(1 from -1) -> (1) x (?)
160 readline(1 from -1) -> (1) x (?)
160 readline(1 from -1) -> (1) x (?)
161 readline(308 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
161 readline(308 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
162 readline(275 from *) -> (27) Accept-Encoding: identity\r\n (glob)
162 readline(275 from *) -> (27) Accept-Encoding: identity\r\n (glob)
163 readline(248 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
163 readline(248 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
164 readline(213 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
164 readline(213 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
165 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
165 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
166 readline(* from *) -> (2) \r\n (glob)
166 readline(* from *) -> (2) \r\n (glob)
167 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 !)
167 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 !)
168 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 !)
168 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 !)
169 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 !)
169 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 !)
170 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 !)
170 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 !)
171 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
171 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
172 write(23) -> Server: badhttpserver\r\n (no-py3 !)
172 write(23) -> Server: badhttpserver\r\n (no-py3 !)
173 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
173 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
174 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
174 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
175 write(21) -> Content-Length: 431\r\n (no-py3 !)
175 write(21) -> Content-Length: 431\r\n (no-py3 !)
176 write(2) -> \r\n (no-py3 !)
176 write(2) -> \r\n (no-py3 !)
177 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 !)
177 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 !)
178 readline(13? from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n (glob)
178 readline(13? from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n (glob)
179 readline(1?? from *) -> (27) Accept-Encoding: identity\r\n (glob)
179 readline(1?? from *) -> (27) Accept-Encoding: identity\r\n (glob)
180 readline(8? from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
180 readline(8? from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
181 readline(5? from *) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
181 readline(5? from *) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
182 readline(1? from *) -> (1?) x-hgproto-1:* (glob)
182 readline(1? from *) -> (1?) x-hgproto-1:* (glob)
183 read limit reached; closing socket
183 read limit reached; closing socket
184 readline(317 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
184 readline(317 from 65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
185 readline(291 from *) -> (27) Accept-Encoding: identity\r\n (glob)
185 readline(291 from *) -> (27) Accept-Encoding: identity\r\n (glob)
186 readline(264 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
186 readline(264 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
187 readline(235 from *) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
187 readline(235 from *) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
188 readline(194 from *) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
188 readline(194 from *) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
189 readline(133 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
189 readline(133 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
190 readline(98 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
190 readline(98 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
191 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
191 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
192 readline(* from *) -> (2) \r\n (glob)
192 readline(* from *) -> (2) \r\n (glob)
193 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 !)
193 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 !)
194 sendall(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
194 sendall(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
195 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 !)
195 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 !)
196 write(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py3 no-py36 !)
196 write(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py3 no-py36 !)
197 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
197 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
198 write(23) -> Server: badhttpserver\r\n (no-py3 !)
198 write(23) -> Server: badhttpserver\r\n (no-py3 !)
199 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
199 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
200 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
200 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
201 write(20) -> Content-Length: 42\r\n (no-py3 !)
201 write(20) -> Content-Length: 42\r\n (no-py3 !)
202 write(2) -> \r\n (no-py3 !)
202 write(2) -> \r\n (no-py3 !)
203 write(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
203 write(42) -> 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
204 readline(* from 65537) -> (*) GET /?cmd=getbundle HTTP* (glob)
204 readline(* from 65537) -> (*) GET /?cmd=getbundle HTTP* (glob)
205 read limit reached; closing socket
205 read limit reached; closing socket
206 readline(304 from 65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
206 readline(304 from 65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
207 readline(274 from *) -> (27) Accept-Encoding: identity\r\n (glob)
207 readline(274 from *) -> (27) Accept-Encoding: identity\r\n (glob)
208 readline(247 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
208 readline(247 from *) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
209 readline(218 from *) -> (218) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtag (glob)
209 readline(218 from *) -> (218) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtag (glob)
210 read limit reached; closing socket
210 read limit reached; closing socket
211
211
212 $ rm -f error.log
212 $ rm -f error.log
213
213
214 Now do a variation using POST to send arguments
214 Now do a variation using POST to send arguments
215
215
216 $ hg serve --config experimental.httppostargs=true --config badserver.closeafterrecvbytes=329,344 -p $HGPORT -d --pid-file=hg.pid -E error.log
216 $ hg serve --config experimental.httppostargs=true --config badserver.closeafterrecvbytes=329,344 -p $HGPORT -d --pid-file=hg.pid -E error.log
217 $ cat hg.pid > $DAEMON_PIDS
217 $ cat hg.pid > $DAEMON_PIDS
218
218
219 $ hg clone http://localhost:$HGPORT/ clone
219 $ hg clone http://localhost:$HGPORT/ clone
220 abort: error: bad HTTP status line: * (glob)
220 abort: error: bad HTTP status line: * (glob)
221 [100]
221 [100]
222
222
223 $ killdaemons.py $DAEMON_PIDS
223 $ killdaemons.py $DAEMON_PIDS
224
224
225 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
225 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
226 readline(329 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
226 readline(329 from 65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
227 readline(296 from *) -> (27) Accept-Encoding: identity\r\n (glob)
227 readline(296 from *) -> (27) Accept-Encoding: identity\r\n (glob)
228 readline(269 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
228 readline(269 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
229 readline(234 from *) -> (2?) host: localhost:$HGPORT\r\n (glob)
229 readline(234 from *) -> (2?) host: localhost:$HGPORT\r\n (glob)
230 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
230 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
231 readline(* from *) -> (2) \r\n (glob)
231 readline(* from *) -> (2) \r\n (glob)
232 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: 444\r\n\r\n (py36 !)
232 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: 444\r\n\r\n (py36 !)
233 sendall(444) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx httppostargs known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
233 sendall(444) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx httppostargs known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py36 !)
234 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: 444\r\n\r\n (py3 no-py36 !)
234 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: 444\r\n\r\n (py3 no-py36 !)
235 write(444) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx httppostargs known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
235 write(444) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx httppostargs known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (py3 no-py36 !)
236 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
236 write(36) -> HTTP/1.1 200 Script output follows\r\n (no-py3 !)
237 write(23) -> Server: badhttpserver\r\n (no-py3 !)
237 write(23) -> Server: badhttpserver\r\n (no-py3 !)
238 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
238 write(37) -> Date: $HTTP_DATE$\r\n (no-py3 !)
239 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
239 write(41) -> Content-Type: application/mercurial-0.1\r\n (no-py3 !)
240 write(21) -> Content-Length: 444\r\n (no-py3 !)
240 write(21) -> Content-Length: 444\r\n (no-py3 !)
241 write(2) -> \r\n (no-py3 !)
241 write(2) -> \r\n (no-py3 !)
242 write(444) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx httppostargs known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
242 write(444) -> batch branchmap $USUAL_BUNDLE2_CAPS_NO_PHASES$ changegroupsubset compression=none getbundle httpheader=1024 httpmediatype=0.1rx,0.1tx,0.2tx httppostargs known lookup pushkey streamreqs=generaldelta,revlogv1 unbundle=HG10GZ,HG10BZ,HG10UN unbundlehash (no-py3 !)
243 readline(1?? from 65537) -> (27) POST /?cmd=batch HTTP/1.1\r\n (glob)
243 readline(1?? from 65537) -> (27) POST /?cmd=batch HTTP/1.1\r\n (glob)
244 readline(1?? from *) -> (27) Accept-Encoding: identity\r\n (glob)
244 readline(1?? from *) -> (27) Accept-Encoding: identity\r\n (glob)
245 readline(1?? from *) -> (41) content-type: application/mercurial-0.1\r\n (glob)
245 readline(1?? from *) -> (41) content-type: application/mercurial-0.1\r\n (glob)
246 readline(6? from *) -> (33) vary: X-HgArgs-Post,X-HgProto-1\r\n (glob)
246 readline(6? from *) -> (33) vary: X-HgArgs-Post,X-HgProto-1\r\n (glob)
247 readline(3? from *) -> (19) x-hgargs-post: 28\r\n (glob)
247 readline(3? from *) -> (19) x-hgargs-post: 28\r\n (glob)
248 readline(1? from *) -> (1?) x-hgproto-1: * (glob)
248 readline(1? from *) -> (1?) x-hgproto-1: * (glob)
249 read limit reached; closing socket
249 read limit reached; closing socket
250 readline(344 from 65537) -> (27) POST /?cmd=batch HTTP/1.1\r\n
250 readline(344 from 65537) -> (27) POST /?cmd=batch HTTP/1.1\r\n
251 readline(317 from *) -> (27) Accept-Encoding: identity\r\n (glob)
251 readline(317 from *) -> (27) Accept-Encoding: identity\r\n (glob)
252 readline(290 from *) -> (41) content-type: application/mercurial-0.1\r\n (glob)
252 readline(290 from *) -> (41) content-type: application/mercurial-0.1\r\n (glob)
253 readline(249 from *) -> (33) vary: X-HgArgs-Post,X-HgProto-1\r\n (glob)
253 readline(249 from *) -> (33) vary: X-HgArgs-Post,X-HgProto-1\r\n (glob)
254 readline(216 from *) -> (19) x-hgargs-post: 28\r\n (glob)
254 readline(216 from *) -> (19) x-hgargs-post: 28\r\n (glob)
255 readline(197 from *) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
255 readline(197 from *) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
256 readline(136 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
256 readline(136 from *) -> (35) accept: application/mercurial-0.1\r\n (glob)
257 readline(101 from *) -> (20) content-length: 28\r\n (glob)
257 readline(101 from *) -> (20) content-length: 28\r\n (glob)
258 readline(81 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
258 readline(81 from *) -> (*) host: localhost:$HGPORT\r\n (glob)
259 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
259 readline(* from *) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
260 readline(* from *) -> (2) \r\n (glob)
260 readline(* from *) -> (2) \r\n (glob)
261 read(* from 28) -> (*) cmds=* (glob)
261 read(* from 28) -> (*) cmds=* (glob)
262 read limit reached, closing socket
262 read limit reached, closing socket
263 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=batch': (glob)
263 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=batch': (glob)
264 Traceback (most recent call last):
264 Traceback (most recent call last):
265 Exception: connection closed after receiving N bytes
265 Exception: connection closed after receiving N bytes
266
266
267 write(126) -> HTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
267 write(126) -> HTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
268 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
268 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
269
269
270 $ rm -f error.log
270 $ rm -f error.log
271
271
272 Now move on to partial server responses
272 Now move on to partial server responses
273
273
274 Server sends a single character from the HTTP response line
274 Server sends a single character from the HTTP response line
275
275
276 $ hg serve --config badserver.closeaftersendbytes=1 -p $HGPORT -d --pid-file=hg.pid -E error.log
276 $ hg serve --config badserver.closeaftersendbytes=1 -p $HGPORT -d --pid-file=hg.pid -E error.log
277 $ cat hg.pid > $DAEMON_PIDS
277 $ cat hg.pid > $DAEMON_PIDS
278
278
279 $ hg clone http://localhost:$HGPORT/ clone
279 $ hg clone http://localhost:$HGPORT/ clone
280 abort: error: bad HTTP status line: H
280 abort: error: bad HTTP status line: H
281 [100]
281 [100]
282
282
283 $ killdaemons.py $DAEMON_PIDS
283 $ killdaemons.py $DAEMON_PIDS
284
284
285 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
285 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
286 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
286 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
287 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
287 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
288 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
288 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
289 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
289 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
290 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
290 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
291 readline(*) -> (2) \r\n (glob)
291 readline(*) -> (2) \r\n (glob)
292 sendall(1 from 160) -> (0) H (py36 !)
292 sendall(1 from 160) -> (0) H (py36 !)
293 write(1 from 160) -> (0) H (py3 no-py36 !)
293 write(1 from 160) -> (0) H (py3 no-py36 !)
294 write(1 from 36) -> (0) H (no-py3 !)
294 write(1 from 36) -> (0) H (no-py3 !)
295 write limit reached; closing socket
295 write limit reached; closing socket
296 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=capabilities': (glob)
296 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=capabilities': (glob)
297 Traceback (most recent call last):
297 Traceback (most recent call last):
298 Exception: connection closed after sending N bytes
298 Exception: connection closed after sending N bytes
299
299
300 write(286) -> 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\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
300 write(286) -> 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\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
301 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
301 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
302
302
303 $ rm -f error.log
303 $ rm -f error.log
304
304
305 Server sends an incomplete capabilities response body
305 Server sends an incomplete capabilities response body
306
306
307 $ hg serve --config badserver.closeaftersendbytes=180 -p $HGPORT -d --pid-file=hg.pid -E error.log
307 $ hg serve --config badserver.closeaftersendbytes=180 -p $HGPORT -d --pid-file=hg.pid -E error.log
308 $ cat hg.pid > $DAEMON_PIDS
308 $ cat hg.pid > $DAEMON_PIDS
309
309
310 $ hg clone http://localhost:$HGPORT/ clone
310 $ hg clone http://localhost:$HGPORT/ clone
311 abort: HTTP request error (incomplete response; expected 431 bytes got 20)
311 abort: HTTP request error (incomplete response; expected 431 bytes got 20)
312 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
312 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
313 [255]
313 [255]
314
314
315 $ killdaemons.py $DAEMON_PIDS
315 $ killdaemons.py $DAEMON_PIDS
316
316
317 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
317 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
318 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
318 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
319 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
319 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
320 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
320 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
321 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
321 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
322 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
322 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
323 readline(*) -> (2) \r\n (glob)
323 readline(*) -> (2) \r\n (glob)
324 sendall(160 from 160) -> (20) 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 !)
324 sendall(160 from 160) -> (20) 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 !)
325 sendall(20 from 431) -> (0) batch branchmap bund (py36 !)
325 sendall(20 from 431) -> (0) batch branchmap bund (py36 !)
326 write(160 from 160) -> (20) 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 !)
326 write(160 from 160) -> (20) 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 !)
327 write(20 from 431) -> (0) batch branchmap bund (py3 no-py36 !)
327 write(20 from 431) -> (0) batch branchmap bund (py3 no-py36 !)
328 write(36 from 36) -> (144) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
328 write(36 from 36) -> (144) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
329 write(23 from 23) -> (121) Server: badhttpserver\r\n (no-py3 !)
329 write(23 from 23) -> (121) Server: badhttpserver\r\n (no-py3 !)
330 write(37 from 37) -> (84) Date: $HTTP_DATE$\r\n (no-py3 !)
330 write(37 from 37) -> (84) Date: $HTTP_DATE$\r\n (no-py3 !)
331 write(41 from 41) -> (43) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
331 write(41 from 41) -> (43) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
332 write(21 from 21) -> (22) Content-Length: 431\r\n (no-py3 !)
332 write(21 from 21) -> (22) Content-Length: 431\r\n (no-py3 !)
333 write(2 from 2) -> (20) \r\n (no-py3 !)
333 write(2 from 2) -> (20) \r\n (no-py3 !)
334 write(20 from 431) -> (0) batch branchmap bund (no-py3 !)
334 write(20 from 431) -> (0) batch branchmap bund (no-py3 !)
335 write limit reached; closing socket
335 write limit reached; closing socket
336 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=capabilities': (glob)
336 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=capabilities': (glob)
337 Traceback (most recent call last):
337 Traceback (most recent call last):
338 Exception: connection closed after sending N bytes
338 Exception: connection closed after sending N bytes
339
339
340
340
341 $ rm -f error.log
341 $ rm -f error.log
342
342
343 Server sends incomplete headers for batch request
343 Server sends incomplete headers for batch request
344
344
345 $ hg serve --config badserver.closeaftersendbytes=709 -p $HGPORT -d --pid-file=hg.pid -E error.log
345 $ hg serve --config badserver.closeaftersendbytes=709 -p $HGPORT -d --pid-file=hg.pid -E error.log
346 $ cat hg.pid > $DAEMON_PIDS
346 $ cat hg.pid > $DAEMON_PIDS
347
347
348 TODO this output is horrible
348 TODO this output is horrible
349
349
350 $ hg clone http://localhost:$HGPORT/ clone
350 $ hg clone http://localhost:$HGPORT/ clone
351 abort: 'http://localhost:$HGPORT/' does not appear to be an hg repository:
351 abort: 'http://localhost:$HGPORT/' does not appear to be an hg repository:
352 ---%<--- (applicat)
352 ---%<--- (applicat)
353
353
354 ---%<---
354 ---%<---
355
355
356 [255]
356 [255]
357
357
358 $ killdaemons.py $DAEMON_PIDS
358 $ killdaemons.py $DAEMON_PIDS
359
359
360 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
360 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
361 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
361 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
362 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
362 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
363 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
363 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
364 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
364 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
365 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
365 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
366 readline(*) -> (2) \r\n (glob)
366 readline(*) -> (2) \r\n (glob)
367 sendall(160 from 160) -> (549) 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 !)
367 sendall(160 from 160) -> (549) 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 !)
368 sendall(431 from 431) -> (118) 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 !)
368 sendall(431 from 431) -> (118) 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 !)
369 write(160 from 160) -> (568) 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 !)
369 write(160 from 160) -> (568) 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 !)
370 write(431 from 431) -> (118) 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 !)
370 write(431 from 431) -> (118) 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 !)
371 write(36 from 36) -> (673) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
371 write(36 from 36) -> (673) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
372 write(23 from 23) -> (650) Server: badhttpserver\r\n (no-py3 !)
372 write(23 from 23) -> (650) Server: badhttpserver\r\n (no-py3 !)
373 write(37 from 37) -> (613) Date: $HTTP_DATE$\r\n (no-py3 !)
373 write(37 from 37) -> (613) Date: $HTTP_DATE$\r\n (no-py3 !)
374 write(41 from 41) -> (572) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
374 write(41 from 41) -> (572) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
375 write(21 from 21) -> (551) Content-Length: 431\r\n (no-py3 !)
375 write(21 from 21) -> (551) Content-Length: 431\r\n (no-py3 !)
376 write(2 from 2) -> (549) \r\n (no-py3 !)
376 write(2 from 2) -> (549) \r\n (no-py3 !)
377 write(431 from 431) -> (118) 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 !)
377 write(431 from 431) -> (118) 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 !)
378 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
378 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
379 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
379 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
380 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
380 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
381 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
381 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
382 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
382 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
383 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
383 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
384 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
384 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
385 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
385 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
386 readline(*) -> (2) \r\n (glob)
386 readline(*) -> (2) \r\n (glob)
387 sendall(118 from 159) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: applicat (py36 !)
387 sendall(118 from 159) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: applicat (py36 !)
388 write(118 from 159) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: applicat (py3 no-py36 !)
388 write(118 from 159) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: applicat (py3 no-py36 !)
389 write(36 from 36) -> (82) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
389 write(36 from 36) -> (82) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
390 write(23 from 23) -> (59) Server: badhttpserver\r\n (no-py3 !)
390 write(23 from 23) -> (59) Server: badhttpserver\r\n (no-py3 !)
391 write(37 from 37) -> (22) Date: $HTTP_DATE$\r\n (no-py3 !)
391 write(37 from 37) -> (22) Date: $HTTP_DATE$\r\n (no-py3 !)
392 write(22 from 41) -> (0) Content-Type: applicat (no-py3 !)
392 write(22 from 41) -> (0) Content-Type: applicat (no-py3 !)
393 write limit reached; closing socket
393 write limit reached; closing socket
394 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=batch': (glob)
394 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=batch': (glob)
395 Traceback (most recent call last):
395 Traceback (most recent call last):
396 Exception: connection closed after sending N bytes
396 Exception: connection closed after sending N bytes
397
397
398 write(285) -> 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\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
398 write(285) -> 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\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
399 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
399 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
400
400
401 $ rm -f error.log
401 $ rm -f error.log
402
402
403 Server sends an incomplete HTTP response body to batch request
403 Server sends an incomplete HTTP response body to batch request
404
404
405 $ hg serve --config badserver.closeaftersendbytes=774 -p $HGPORT -d --pid-file=hg.pid -E error.log
405 $ hg serve --config badserver.closeaftersendbytes=774 -p $HGPORT -d --pid-file=hg.pid -E error.log
406 $ cat hg.pid > $DAEMON_PIDS
406 $ cat hg.pid > $DAEMON_PIDS
407
407
408 TODO client spews a stack due to uncaught ValueError in batch.results()
408 TODO client spews a stack due to uncaught ValueError in batch.results()
409 #if no-chg
409 #if no-chg
410 $ hg clone http://localhost:$HGPORT/ clone 2> /dev/null
410 $ hg clone http://localhost:$HGPORT/ clone 2> /dev/null
411 [1]
411 [1]
412 #else
412 #else
413 $ hg clone http://localhost:$HGPORT/ clone 2> /dev/null
413 $ hg clone http://localhost:$HGPORT/ clone 2> /dev/null
414 [255]
414 [255]
415 #endif
415 #endif
416
416
417 $ killdaemons.py $DAEMON_PIDS
417 $ killdaemons.py $DAEMON_PIDS
418
418
419 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
419 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
420 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
420 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
421 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
421 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
422 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
422 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
423 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
423 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
424 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
424 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
425 readline(*) -> (2) \r\n (glob)
425 readline(*) -> (2) \r\n (glob)
426 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 !)
426 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 !)
427 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 !)
427 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 !)
428 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 !)
428 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 !)
429 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 !)
429 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 !)
430 write(36 from 36) -> (738) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
430 write(36 from 36) -> (738) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
431 write(23 from 23) -> (715) Server: badhttpserver\r\n (no-py3 !)
431 write(23 from 23) -> (715) Server: badhttpserver\r\n (no-py3 !)
432 write(37 from 37) -> (678) Date: $HTTP_DATE$\r\n (no-py3 !)
432 write(37 from 37) -> (678) Date: $HTTP_DATE$\r\n (no-py3 !)
433 write(41 from 41) -> (637) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
433 write(41 from 41) -> (637) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
434 write(21 from 21) -> (616) Content-Length: 431\r\n (no-py3 !)
434 write(21 from 21) -> (616) Content-Length: 431\r\n (no-py3 !)
435 write(2 from 2) -> (614) \r\n (no-py3 !)
435 write(2 from 2) -> (614) \r\n (no-py3 !)
436 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 !)
436 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 !)
437 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
437 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
438 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
438 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
439 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
439 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
440 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
440 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
441 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
441 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
442 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
442 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
443 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
443 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
444 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
444 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
445 readline(*) -> (2) \r\n (glob)
445 readline(*) -> (2) \r\n (glob)
446 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 !)
446 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 !)
447 sendall(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (py36 !)
447 sendall(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (py36 !)
448 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 !)
448 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 !)
449 write(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (py3 no-py36 !)
449 write(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (py3 no-py36 !)
450 write(36 from 36) -> (147) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
450 write(36 from 36) -> (147) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
451 write(23 from 23) -> (124) Server: badhttpserver\r\n (no-py3 !)
451 write(23 from 23) -> (124) Server: badhttpserver\r\n (no-py3 !)
452 write(37 from 37) -> (87) Date: $HTTP_DATE$\r\n (no-py3 !)
452 write(37 from 37) -> (87) Date: $HTTP_DATE$\r\n (no-py3 !)
453 write(41 from 41) -> (46) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
453 write(41 from 41) -> (46) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
454 write(20 from 20) -> (26) Content-Length: 42\r\n (no-py3 !)
454 write(20 from 20) -> (26) Content-Length: 42\r\n (no-py3 !)
455 write(2 from 2) -> (24) \r\n (no-py3 !)
455 write(2 from 2) -> (24) \r\n (no-py3 !)
456 write(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (no-py3 !)
456 write(24 from 42) -> (0) 96ee1d7354c4ad7372047672 (no-py3 !)
457 write limit reached; closing socket
457 write limit reached; closing socket
458 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=batch': (glob)
458 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=batch': (glob)
459 Traceback (most recent call last):
459 Traceback (most recent call last):
460 Exception: connection closed after sending N bytes
460 Exception: connection closed after sending N bytes
461
461
462
462
463 $ rm -f error.log
463 $ rm -f error.log
464
464
465 Server sends incomplete headers for getbundle response
465 Server sends incomplete headers for getbundle response
466
466
467 $ hg serve --config badserver.closeaftersendbytes=921 -p $HGPORT -d --pid-file=hg.pid -E error.log
467 $ hg serve --config badserver.closeaftersendbytes=921 -p $HGPORT -d --pid-file=hg.pid -E error.log
468 $ cat hg.pid > $DAEMON_PIDS
468 $ cat hg.pid > $DAEMON_PIDS
469
469
470 TODO this output is terrible
470 TODO this output is terrible
471
471
472 $ hg clone http://localhost:$HGPORT/ clone
472 $ hg clone http://localhost:$HGPORT/ clone
473 requesting all changes
473 requesting all changes
474 abort: 'http://localhost:$HGPORT/' does not appear to be an hg repository:
474 abort: 'http://localhost:$HGPORT/' does not appear to be an hg repository:
475 ---%<--- (application/mercuri)
475 ---%<--- (application/mercuri)
476
476
477 ---%<---
477 ---%<---
478
478
479 [255]
479 [255]
480
480
481 $ killdaemons.py $DAEMON_PIDS
481 $ killdaemons.py $DAEMON_PIDS
482
482
483 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
483 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
484 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
484 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
485 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
485 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
486 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
486 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
487 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
487 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
488 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
488 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
489 readline(*) -> (2) \r\n (glob)
489 readline(*) -> (2) \r\n (glob)
490 sendall(160 from 160) -> (761) 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 !)
490 sendall(160 from 160) -> (761) 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 !)
491 sendall(431 from 431) -> (330) 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 !)
491 sendall(431 from 431) -> (330) 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 !)
492 write(160 from 160) -> (780) 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 !)
492 write(160 from 160) -> (780) 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 !)
493 write(431 from 431) -> (330) 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 !)
493 write(431 from 431) -> (330) 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 !)
494 write(36 from 36) -> (885) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
494 write(36 from 36) -> (885) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
495 write(23 from 23) -> (862) Server: badhttpserver\r\n (no-py3 !)
495 write(23 from 23) -> (862) Server: badhttpserver\r\n (no-py3 !)
496 write(37 from 37) -> (825) Date: $HTTP_DATE$\r\n (no-py3 !)
496 write(37 from 37) -> (825) Date: $HTTP_DATE$\r\n (no-py3 !)
497 write(41 from 41) -> (784) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
497 write(41 from 41) -> (784) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
498 write(21 from 21) -> (763) Content-Length: 431\r\n (no-py3 !)
498 write(21 from 21) -> (763) Content-Length: 431\r\n (no-py3 !)
499 write(2 from 2) -> (761) \r\n (no-py3 !)
499 write(2 from 2) -> (761) \r\n (no-py3 !)
500 write(431 from 431) -> (330) 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 !)
500 write(431 from 431) -> (330) 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 !)
501 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
501 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
502 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
502 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
503 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
503 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
504 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
504 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
505 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
505 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
506 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
506 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
507 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
507 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
508 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
508 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
509 readline(*) -> (2) \r\n (glob)
509 readline(*) -> (2) \r\n (glob)
510 sendall(159 from 159) -> (171) 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 !)
510 sendall(159 from 159) -> (171) 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 !)
511 sendall(42 from 42) -> (129) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
511 sendall(42 from 42) -> (129) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
512 write(159 from 159) -> (171) 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 !)
512 write(159 from 159) -> (171) 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 !)
513 write(42 from 42) -> (129) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py3 no-py36 !)
513 write(42 from 42) -> (129) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py3 no-py36 !)
514 write(36 from 36) -> (294) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
514 write(36 from 36) -> (294) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
515 write(23 from 23) -> (271) Server: badhttpserver\r\n (no-py3 !)
515 write(23 from 23) -> (271) Server: badhttpserver\r\n (no-py3 !)
516 write(37 from 37) -> (234) Date: $HTTP_DATE$\r\n (no-py3 !)
516 write(37 from 37) -> (234) Date: $HTTP_DATE$\r\n (no-py3 !)
517 write(41 from 41) -> (193) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
517 write(41 from 41) -> (193) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
518 write(20 from 20) -> (173) Content-Length: 42\r\n (no-py3 !)
518 write(20 from 20) -> (173) Content-Length: 42\r\n (no-py3 !)
519 write(2 from 2) -> (171) \r\n (no-py3 !)
519 write(2 from 2) -> (171) \r\n (no-py3 !)
520 write(42 from 42) -> (129) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
520 write(42 from 42) -> (129) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
521 readline(65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
521 readline(65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
522 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
522 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
523 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
523 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
524 readline(*) -> (440) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob)
524 readline(*) -> (440) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob)
525 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
525 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
526 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
526 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
527 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
527 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
528 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
528 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
529 readline(*) -> (2) \r\n (glob)
529 readline(*) -> (2) \r\n (glob)
530 sendall(129 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercuri (py36 !)
530 sendall(129 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercuri (py36 !)
531 write(129 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercuri (py3 no-py36 !)
531 write(129 from 167) -> (0) HTTP/1.1 200 Script output follows\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nContent-Type: application/mercuri (py3 no-py36 !)
532 write(36 from 36) -> (93) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
532 write(36 from 36) -> (93) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
533 write(23 from 23) -> (70) Server: badhttpserver\r\n (no-py3 !)
533 write(23 from 23) -> (70) Server: badhttpserver\r\n (no-py3 !)
534 write(37 from 37) -> (33) Date: $HTTP_DATE$\r\n (no-py3 !)
534 write(37 from 37) -> (33) Date: $HTTP_DATE$\r\n (no-py3 !)
535 write(33 from 41) -> (0) Content-Type: application/mercuri (no-py3 !)
535 write(33 from 41) -> (0) Content-Type: application/mercuri (no-py3 !)
536 write limit reached; closing socket
536 write limit reached; closing socket
537 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
537 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
538 Traceback (most recent call last):
538 Traceback (most recent call last):
539 Exception: connection closed after sending N bytes
539 Exception: connection closed after sending N bytes
540
540
541 write(293) -> 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\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
541 write(293) -> 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\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
542 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
542 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
543
543
544 $ rm -f error.log
544 $ rm -f error.log
545
545
546 Server stops before it sends transfer encoding
546 Server stops before it sends transfer encoding
547
547
548 $ hg serve --config badserver.closeaftersendbytes=954 -p $HGPORT -d --pid-file=hg.pid -E error.log
548 $ hg serve --config badserver.closeaftersendbytes=954 -p $HGPORT -d --pid-file=hg.pid -E error.log
549 $ cat hg.pid > $DAEMON_PIDS
549 $ cat hg.pid > $DAEMON_PIDS
550
550
551 $ hg clone http://localhost:$HGPORT/ clone
551 $ hg clone http://localhost:$HGPORT/ clone
552 requesting all changes
552 requesting all changes
553 abort: stream ended unexpectedly (got 0 bytes, expected 1)
553 abort: stream ended unexpectedly (got 0 bytes, expected 1)
554 [255]
554 [255]
555
555
556 $ killdaemons.py $DAEMON_PIDS
556 $ killdaemons.py $DAEMON_PIDS
557
557
558 #if py36
558 #if py36
559 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -3
559 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -3
560 Traceback (most recent call last):
560 Traceback (most recent call last):
561 Exception: connection closed after sending N bytes
561 Exception: connection closed after sending N bytes
562
562
563
563
564 #else
564 #else
565 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -4
565 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -4
566 Traceback (most recent call last):
566 Traceback (most recent call last):
567 Exception: connection closed after sending N bytes
567 Exception: connection closed after sending N bytes
568
568
569 write(293) -> 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\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
569 write(293) -> 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\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 !)
570 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
570 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
571 #endif
571 #endif
572
572
573 $ rm -f error.log
573 $ rm -f error.log
574
574
575 Server sends empty HTTP body for getbundle
575 Server sends empty HTTP body for getbundle
576
576
577 $ hg serve --config badserver.closeaftersendbytes=959 -p $HGPORT -d --pid-file=hg.pid -E error.log
577 $ hg serve --config badserver.closeaftersendbytes=959 -p $HGPORT -d --pid-file=hg.pid -E error.log
578 $ cat hg.pid > $DAEMON_PIDS
578 $ cat hg.pid > $DAEMON_PIDS
579
579
580 $ hg clone http://localhost:$HGPORT/ clone
580 $ hg clone http://localhost:$HGPORT/ clone
581 requesting all changes
581 requesting all changes
582 abort: HTTP request error (incomplete response)
582 abort: HTTP request error (incomplete response)
583 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
583 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
584 [255]
584 [255]
585
585
586 $ killdaemons.py $DAEMON_PIDS
586 $ killdaemons.py $DAEMON_PIDS
587
587
588 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
588 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
589 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
589 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
590 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
590 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
591 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
591 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
592 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
592 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
593 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
593 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
594 readline(*) -> (2) \r\n (glob)
594 readline(*) -> (2) \r\n (glob)
595 sendall(160 from 160) -> (799) 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 !)
595 sendall(160 from 160) -> (799) 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 !)
596 sendall(431 from 431) -> (368) 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 !)
596 sendall(431 from 431) -> (368) 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 !)
597 write(160 from 160) -> (818) 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 !)
597 write(160 from 160) -> (818) 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 !)
598 write(431 from 431) -> (368) 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 !)
598 write(431 from 431) -> (368) 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 !)
599 write(36 from 36) -> (923) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
599 write(36 from 36) -> (923) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
600 write(23 from 23) -> (900) Server: badhttpserver\r\n (no-py3 !)
600 write(23 from 23) -> (900) Server: badhttpserver\r\n (no-py3 !)
601 write(37 from 37) -> (863) Date: $HTTP_DATE$\r\n (no-py3 !)
601 write(37 from 37) -> (863) Date: $HTTP_DATE$\r\n (no-py3 !)
602 write(41 from 41) -> (822) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
602 write(41 from 41) -> (822) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
603 write(21 from 21) -> (801) Content-Length: 431\r\n (no-py3 !)
603 write(21 from 21) -> (801) Content-Length: 431\r\n (no-py3 !)
604 write(2 from 2) -> (799) \r\n (no-py3 !)
604 write(2 from 2) -> (799) \r\n (no-py3 !)
605 write(431 from 431) -> (368) 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 !)
605 write(431 from 431) -> (368) 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 !)
606 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
606 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
607 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
607 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
608 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
608 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
609 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
609 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
610 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
610 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
611 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
611 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
612 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
612 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
613 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
613 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
614 readline(*) -> (2) \r\n (glob)
614 readline(*) -> (2) \r\n (glob)
615 sendall(159 from 159) -> (209) 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 !)
615 sendall(159 from 159) -> (209) 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 !)
616 sendall(42 from 42) -> (167) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
616 sendall(42 from 42) -> (167) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
617 write(159 from 159) -> (209) 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 !)
617 write(159 from 159) -> (209) 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 !)
618 write(42 from 42) -> (167) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py3 no-py36 !)
618 write(42 from 42) -> (167) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py3 no-py36 !)
619 write(36 from 36) -> (332) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
619 write(36 from 36) -> (332) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
620 write(23 from 23) -> (309) Server: badhttpserver\r\n (no-py3 !)
620 write(23 from 23) -> (309) Server: badhttpserver\r\n (no-py3 !)
621 write(37 from 37) -> (272) Date: $HTTP_DATE$\r\n (no-py3 !)
621 write(37 from 37) -> (272) Date: $HTTP_DATE$\r\n (no-py3 !)
622 write(41 from 41) -> (231) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
622 write(41 from 41) -> (231) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
623 write(20 from 20) -> (211) Content-Length: 42\r\n (no-py3 !)
623 write(20 from 20) -> (211) Content-Length: 42\r\n (no-py3 !)
624 write(2 from 2) -> (209) \r\n (no-py3 !)
624 write(2 from 2) -> (209) \r\n (no-py3 !)
625 write(42 from 42) -> (167) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
625 write(42 from 42) -> (167) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
626 readline(65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
626 readline(65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
627 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
627 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
628 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
628 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
629 readline(*) -> (440) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob)
629 readline(*) -> (440) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob)
630 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
630 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
631 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
631 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
632 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
632 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
633 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
633 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
634 readline(*) -> (2) \r\n (glob)
634 readline(*) -> (2) \r\n (glob)
635 sendall(167 from 167) -> (0) 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 (py36 !)
635 sendall(167 from 167) -> (0) 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 (py36 !)
636 write(167 from 167) -> (0) 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 no-py36 !)
636 write(167 from 167) -> (0) 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 no-py36 !)
637 write(36 from 36) -> (131) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
637 write(36 from 36) -> (131) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
638 write(23 from 23) -> (108) Server: badhttpserver\r\n (no-py3 !)
638 write(23 from 23) -> (108) Server: badhttpserver\r\n (no-py3 !)
639 write(37 from 37) -> (71) Date: $HTTP_DATE$\r\n (no-py3 !)
639 write(37 from 37) -> (71) Date: $HTTP_DATE$\r\n (no-py3 !)
640 write(41 from 41) -> (30) Content-Type: application/mercurial-0.2\r\n (no-py3 !)
640 write(41 from 41) -> (30) Content-Type: application/mercurial-0.2\r\n (no-py3 !)
641 write(28 from 28) -> (2) Transfer-Encoding: chunked\r\n (no-py3 !)
641 write(28 from 28) -> (2) Transfer-Encoding: chunked\r\n (no-py3 !)
642 write(2 from 2) -> (0) \r\n (no-py3 !)
642 write(2 from 2) -> (0) \r\n (no-py3 !)
643 write limit reached; closing socket
643 write limit reached; closing socket
644 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
644 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
645 Traceback (most recent call last):
645 Traceback (most recent call last):
646 Exception: connection closed after sending N bytes
646 Exception: connection closed after sending N bytes
647
647
648 write(293) -> 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\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
648 write(293) -> 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\nHTTP/1.1 500 Internal Server Error\r\nServer: badhttpserver\r\nDate: $HTTP_DATE$\r\nTransfer-Encoding: chunked\r\n\r\n (py3 no-py36 !)
649 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
649 write(36) -> HTTP/1.1 500 Internal Server Error\r\n (no-py3 !)
650
650
651 $ rm -f error.log
651 $ rm -f error.log
652
652
653 Server sends partial compression string
653 Server sends partial compression string
654
654
655 $ hg serve --config badserver.closeaftersendbytes=983 -p $HGPORT -d --pid-file=hg.pid -E error.log
655 $ hg serve --config badserver.closeaftersendbytes=983 -p $HGPORT -d --pid-file=hg.pid -E error.log
656 $ cat hg.pid > $DAEMON_PIDS
656 $ cat hg.pid > $DAEMON_PIDS
657
657
658 $ hg clone http://localhost:$HGPORT/ clone
658 $ hg clone http://localhost:$HGPORT/ clone
659 requesting all changes
659 requesting all changes
660 abort: HTTP request error (incomplete response)
660 abort: HTTP request error (incomplete response)
661 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
661 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
662 [255]
662 [255]
663
663
664 $ killdaemons.py $DAEMON_PIDS
664 $ killdaemons.py $DAEMON_PIDS
665
665
666 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
666 $ cat error.log | "$PYTHON" $TESTDIR/filtertraceback.py
667 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
667 readline(65537) -> (33) GET /?cmd=capabilities HTTP/1.1\r\n
668 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
668 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
669 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
669 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
670 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
670 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
671 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
671 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
672 readline(*) -> (2) \r\n (glob)
672 readline(*) -> (2) \r\n (glob)
673 sendall(160 from 160) -> (823) 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 !)
673 sendall(160 from 160) -> (823) 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 !)
674 sendall(431 from 431) -> (392) 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 !)
674 sendall(431 from 431) -> (392) 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 !)
675 write(160 from 160) -> (842) 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 !)
675 write(160 from 160) -> (842) 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 !)
676 write(431 from 431) -> (392) 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 !)
676 write(431 from 431) -> (392) 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 !)
677 write(36 from 36) -> (947) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
677 write(36 from 36) -> (947) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
678 write(23 from 23) -> (924) Server: badhttpserver\r\n (no-py3 !)
678 write(23 from 23) -> (924) Server: badhttpserver\r\n (no-py3 !)
679 write(37 from 37) -> (887) Date: $HTTP_DATE$\r\n (no-py3 !)
679 write(37 from 37) -> (887) Date: $HTTP_DATE$\r\n (no-py3 !)
680 write(41 from 41) -> (846) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
680 write(41 from 41) -> (846) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
681 write(21 from 21) -> (825) Content-Length: 431\r\n (no-py3 !)
681 write(21 from 21) -> (825) Content-Length: 431\r\n (no-py3 !)
682 write(2 from 2) -> (823) \r\n (no-py3 !)
682 write(2 from 2) -> (823) \r\n (no-py3 !)
683 write(431 from 431) -> (392) 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 !)
683 write(431 from 431) -> (392) 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 !)
684 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
684 readline(65537) -> (26) GET /?cmd=batch HTTP/1.1\r\n
685 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
685 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
686 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
686 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
687 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
687 readline(*) -> (41) x-hgarg-1: cmds=heads+%3Bknown+nodes%3D\r\n (glob)
688 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
688 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
689 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
689 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
690 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
690 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
691 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
691 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
692 readline(*) -> (2) \r\n (glob)
692 readline(*) -> (2) \r\n (glob)
693 sendall(159 from 159) -> (233) 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 !)
693 sendall(159 from 159) -> (233) 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 !)
694 sendall(42 from 42) -> (191) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
694 sendall(42 from 42) -> (191) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (py36 !)
695 write(159 from 159) -> (233) 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 !)
695 write(159 from 159) -> (233) 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 !)
696 write(36 from 36) -> (356) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
696 write(36 from 36) -> (356) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
697 write(23 from 23) -> (333) Server: badhttpserver\r\n (no-py3 !)
697 write(23 from 23) -> (333) Server: badhttpserver\r\n (no-py3 !)
698 write(37 from 37) -> (296) Date: $HTTP_DATE$\r\n (no-py3 !)
698 write(37 from 37) -> (296) Date: $HTTP_DATE$\r\n (no-py3 !)
699 write(41 from 41) -> (255) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
699 write(41 from 41) -> (255) Content-Type: application/mercurial-0.1\r\n (no-py3 !)
700 write(20 from 20) -> (235) Content-Length: 42\r\n (no-py3 !)
700 write(20 from 20) -> (235) Content-Length: 42\r\n (no-py3 !)
701 write(2 from 2) -> (233) \r\n (no-py3 !)
701 write(2 from 2) -> (233) \r\n (no-py3 !)
702 write(42 from 42) -> (191) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
702 write(42 from 42) -> (191) 96ee1d7354c4ad7372047672c36a1f561e3a6a4c\n; (no-py3 !)
703 readline(65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
703 readline(65537) -> (30) GET /?cmd=getbundle HTTP/1.1\r\n
704 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
704 readline(*) -> (27) Accept-Encoding: identity\r\n (glob)
705 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
705 readline(*) -> (29) vary: X-HgArg-1,X-HgProto-1\r\n (glob)
706 readline(*) -> (440) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob)
706 readline(*) -> (440) x-hgarg-1: bookmarks=1&bundlecaps=HG20%2Cbundle2%3DHG20%250Abookmarks%250Achangegroup%253D01%252C02%250Adigests%253Dmd5%252Csha1%252Csha512%250Aerror%253Dabort%252Cunsupportedcontent%252Cpushraced%252Cpushkey%250Ahgtagsfnodes%250Alistkeys%250Apushkey%250Aremote-changegroup%253Dhttp%252Chttps%250Astream%253Dv2&cg=1&common=0000000000000000000000000000000000000000&heads=96ee1d7354c4ad7372047672c36a1f561e3a6a4c&listkeys=phases%2Cbookmarks\r\n (glob)
707 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
707 readline(*) -> (61) x-hgproto-1: 0.1 0.2 comp=$USUAL_COMPRESSIONS$ partial-pull\r\n (glob)
708 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
708 readline(*) -> (35) accept: application/mercurial-0.1\r\n (glob)
709 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
709 readline(*) -> (2?) host: localhost:$HGPORT\r\n (glob)
710 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
710 readline(*) -> (49) user-agent: mercurial/proto-1.0 (Mercurial 4.2)\r\n (glob)
711 readline(*) -> (2) \r\n (glob)
711 readline(*) -> (2) \r\n (glob)
712 sendall(167 from 167) -> (24) 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 (py36 !)
712 sendall(167 from 167) -> (24) 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 (py36 !)
713 sendall(6 from 6) -> (18) 1\\r\\n\x04\\r\\n (esc) (py36 !)
713 sendall(6 from 6) -> (18) 1\\r\\n\x04\\r\\n (esc) (py36 !)
714 sendall(9 from 9) -> (9) 4\r\nnone\r\n (py36 !)
714 sendall(9 from 9) -> (9) 4\r\nnone\r\n (py36 !)
715 sendall(9 from 9) -> (0) 4\r\nHG20\r\n (py36 !)
715 sendall(9 from 9) -> (0) 4\r\nHG20\r\n (py36 !)
716 write(167 from 167) -> (24) 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 no-py36 !)
716 write(167 from 167) -> (24) 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 no-py36 !)
717 write(36 from 36) -> (155) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
717 write(36 from 36) -> (155) HTTP/1.1 200 Script output follows\r\n (no-py3 !)
718 write(23 from 23) -> (132) Server: badhttpserver\r\n (no-py3 !)
718 write(23 from 23) -> (132) Server: badhttpserver\r\n (no-py3 !)
719 write(37 from 37) -> (95) Date: $HTTP_DATE$\r\n (no-py3 !)
719 write(37 from 37) -> (95) Date: $HTTP_DATE$\r\n (no-py3 !)
720 write(41 from 41) -> (54) Content-Type: application/mercurial-0.2\r\n (no-py3 !)
720 write(41 from 41) -> (54) Content-Type: application/mercurial-0.2\r\n (no-py3 !)
721 write(28 from 28) -> (26) Transfer-Encoding: chunked\r\n (no-py3 !)
721 write(28 from 28) -> (26) Transfer-Encoding: chunked\r\n (no-py3 !)
722 write(2 from 2) -> (24) \r\n (no-py3 !)
722 write(2 from 2) -> (24) \r\n (no-py3 !)
723 write(6 from 6) -> (18) 1\\r\\n\x04\\r\\n (esc) (no-py3 !)
723 write(6 from 6) -> (18) 1\\r\\n\x04\\r\\n (esc) (no-py3 !)
724 write(9 from 9) -> (9) 4\r\nnone\r\n (no-py3 !)
724 write(9 from 9) -> (9) 4\r\nnone\r\n (no-py3 !)
725 write(9 from 9) -> (0) 4\r\nHG20\r\n (no-py3 !)
725 write(9 from 9) -> (0) 4\r\nHG20\r\n (no-py3 !)
726 write limit reached; closing socket
726 write limit reached; closing socket
727 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
727 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
728 Traceback (most recent call last):
728 Traceback (most recent call last):
729 Exception: connection closed after sending N bytes
729 Exception: connection closed after sending N bytes
730
730
731 write(27) -> 15\r\nInternal Server Error\r\n (no-py3 !)
731 write(27) -> 15\r\nInternal Server Error\r\n (no-py3 !)
732
732
733 $ rm -f error.log
733 $ rm -f error.log
734
734
735 Server sends partial bundle2 header magic
735 Server sends partial bundle2 header magic
736
736
737 $ hg serve --config badserver.closeaftersendbytes=980 -p $HGPORT -d --pid-file=hg.pid -E error.log
737 $ hg serve --config badserver.closeaftersendbytes=980 -p $HGPORT -d --pid-file=hg.pid -E error.log
738 $ cat hg.pid > $DAEMON_PIDS
738 $ cat hg.pid > $DAEMON_PIDS
739
739
740 $ hg clone http://localhost:$HGPORT/ clone
740 $ hg clone http://localhost:$HGPORT/ clone
741 requesting all changes
741 requesting all changes
742 abort: HTTP request error (incomplete response) (py3 !)
742 abort: HTTP request error (incomplete response) (py3 !)
743 abort: HTTP request error (incomplete response; expected 4 bytes got 3) (no-py3 !)
743 abort: HTTP request error (incomplete response; expected 4 bytes got 3) (no-py3 !)
744 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
744 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
745 [255]
745 [255]
746
746
747 $ killdaemons.py $DAEMON_PIDS
747 $ killdaemons.py $DAEMON_PIDS
748
748
749 #if py36
749 #if py36
750 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -9
750 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -9
751 sendall(167 from 167) -> (21) 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
751 sendall(167 from 167) -> (21) 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
752 sendall(6 from 6) -> (15) 1\\r\\n\x04\\r\\n (esc)
752 sendall(6 from 6) -> (15) 1\\r\\n\x04\\r\\n (esc)
753 sendall(9 from 9) -> (6) 4\r\nnone\r\n
753 sendall(9 from 9) -> (6) 4\r\nnone\r\n
754 sendall(6 from 9) -> (0) 4\r\nHG2
754 sendall(6 from 9) -> (0) 4\r\nHG2
755 write limit reached; closing socket
755 write limit reached; closing socket
756 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
756 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
757 Traceback (most recent call last):
757 Traceback (most recent call last):
758 Exception: connection closed after sending N bytes
758 Exception: connection closed after sending N bytes
759
759
760
760
761 #else
761 #else
762 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -11
762 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -11
763 readline(65537) -> (2) \r\n (py3 !)
763 readline(65537) -> (2) \r\n (py3 !)
764 write(167 from 167) -> (21) 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 !)
764 write(167 from 167) -> (21) 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 !)
765 write(28 from 28) -> (23) Transfer-Encoding: chunked\r\n (no-py3 !)
765 write(28 from 28) -> (23) Transfer-Encoding: chunked\r\n (no-py3 !)
766 write(2 from 2) -> (21) \r\n (no-py3 !)
766 write(2 from 2) -> (21) \r\n (no-py3 !)
767 write(6 from 6) -> (15) 1\\r\\n\x04\\r\\n (esc)
767 write(6 from 6) -> (15) 1\\r\\n\x04\\r\\n (esc)
768 write(9 from 9) -> (6) 4\r\nnone\r\n
768 write(9 from 9) -> (6) 4\r\nnone\r\n
769 write(6 from 9) -> (0) 4\r\nHG2
769 write(6 from 9) -> (0) 4\r\nHG2
770 write limit reached; closing socket
770 write limit reached; closing socket
771 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
771 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
772 Traceback (most recent call last):
772 Traceback (most recent call last):
773 Exception: connection closed after sending N bytes
773 Exception: connection closed after sending N bytes
774
774
775 write(27) -> 15\r\nInternal Server Error\r\n
775 write(27) -> 15\r\nInternal Server Error\r\n
776 #endif
776 #endif
777
777
778 $ rm -f error.log
778 $ rm -f error.log
779
779
780 Server sends incomplete bundle2 stream params length
780 Server sends incomplete bundle2 stream params length
781
781
782 $ hg serve --config badserver.closeaftersendbytes=989 -p $HGPORT -d --pid-file=hg.pid -E error.log
782 $ hg serve --config badserver.closeaftersendbytes=989 -p $HGPORT -d --pid-file=hg.pid -E error.log
783 $ cat hg.pid > $DAEMON_PIDS
783 $ cat hg.pid > $DAEMON_PIDS
784
784
785 $ hg clone http://localhost:$HGPORT/ clone
785 $ hg clone http://localhost:$HGPORT/ clone
786 requesting all changes
786 requesting all changes
787 abort: HTTP request error (incomplete response) (py3 !)
787 abort: HTTP request error (incomplete response) (py3 !)
788 abort: HTTP request error (incomplete response; expected 4 bytes got 3) (no-py3 !)
788 abort: HTTP request error (incomplete response; expected 4 bytes got 3) (no-py3 !)
789 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
789 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
790 [255]
790 [255]
791
791
792 $ killdaemons.py $DAEMON_PIDS
792 $ killdaemons.py $DAEMON_PIDS
793
793
794 #if py36
794 #if py36
795 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -10
795 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -10
796 sendall(167 from 167) -> (30) 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
796 sendall(167 from 167) -> (30) 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
797 sendall(6 from 6) -> (24) 1\\r\\n\x04\\r\\n (esc)
797 sendall(6 from 6) -> (24) 1\\r\\n\x04\\r\\n (esc)
798 sendall(9 from 9) -> (15) 4\r\nnone\r\n
798 sendall(9 from 9) -> (15) 4\r\nnone\r\n
799 sendall(9 from 9) -> (6) 4\r\nHG20\r\n
799 sendall(9 from 9) -> (6) 4\r\nHG20\r\n
800 sendall(6 from 9) -> (0) 4\\r\\n\x00\x00\x00 (esc)
800 sendall(6 from 9) -> (0) 4\\r\\n\x00\x00\x00 (esc)
801 write limit reached; closing socket
801 write limit reached; closing socket
802 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
802 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
803 Traceback (most recent call last):
803 Traceback (most recent call last):
804 Exception: connection closed after sending N bytes
804 Exception: connection closed after sending N bytes
805
805
806
806
807 #else
807 #else
808 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -12
808 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -12
809 readline(65537) -> (2) \r\n (py3 !)
809 readline(65537) -> (2) \r\n (py3 !)
810 write(167 from 167) -> (30) 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 !)
810 write(167 from 167) -> (30) 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 !)
811 write(28 from 28) -> (32) Transfer-Encoding: chunked\r\n (no-py3 !)
811 write(28 from 28) -> (32) Transfer-Encoding: chunked\r\n (no-py3 !)
812 write(2 from 2) -> (30) \r\n (no-py3 !)
812 write(2 from 2) -> (30) \r\n (no-py3 !)
813 write(6 from 6) -> (24) 1\\r\\n\x04\\r\\n (esc)
813 write(6 from 6) -> (24) 1\\r\\n\x04\\r\\n (esc)
814 write(9 from 9) -> (15) 4\r\nnone\r\n
814 write(9 from 9) -> (15) 4\r\nnone\r\n
815 write(9 from 9) -> (6) 4\r\nHG20\r\n
815 write(9 from 9) -> (6) 4\r\nHG20\r\n
816 write(6 from 9) -> (0) 4\\r\\n\x00\x00\x00 (esc)
816 write(6 from 9) -> (0) 4\\r\\n\x00\x00\x00 (esc)
817 write limit reached; closing socket
817 write limit reached; closing socket
818 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
818 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
819 Traceback (most recent call last):
819 Traceback (most recent call last):
820 Exception: connection closed after sending N bytes
820 Exception: connection closed after sending N bytes
821
821
822 write(27) -> 15\r\nInternal Server Error\r\n
822 write(27) -> 15\r\nInternal Server Error\r\n
823 #endif
823 #endif
824
824
825 $ rm -f error.log
825 $ rm -f error.log
826
826
827 Servers stops after bundle2 stream params header
827 Servers stops after bundle2 stream params header
828
828
829 $ hg serve --config badserver.closeaftersendbytes=992 -p $HGPORT -d --pid-file=hg.pid -E error.log
829 $ hg serve --config badserver.closeaftersendbytes=992 -p $HGPORT -d --pid-file=hg.pid -E error.log
830 $ cat hg.pid > $DAEMON_PIDS
830 $ cat hg.pid > $DAEMON_PIDS
831
831
832 $ hg clone http://localhost:$HGPORT/ clone
832 $ hg clone http://localhost:$HGPORT/ clone
833 requesting all changes
833 requesting all changes
834 abort: HTTP request error (incomplete response)
834 abort: HTTP request error (incomplete response)
835 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
835 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
836 [255]
836 [255]
837
837
838 $ killdaemons.py $DAEMON_PIDS
838 $ killdaemons.py $DAEMON_PIDS
839
839
840 #if py36
840 #if py36
841 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -10
841 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -10
842 sendall(167 from 167) -> (33) 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
842 sendall(167 from 167) -> (33) 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
843 sendall(6 from 6) -> (27) 1\\r\\n\x04\\r\\n (esc)
843 sendall(6 from 6) -> (27) 1\\r\\n\x04\\r\\n (esc)
844 sendall(9 from 9) -> (18) 4\r\nnone\r\n
844 sendall(9 from 9) -> (18) 4\r\nnone\r\n
845 sendall(9 from 9) -> (9) 4\r\nHG20\r\n
845 sendall(9 from 9) -> (9) 4\r\nHG20\r\n
846 sendall(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
846 sendall(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
847 write limit reached; closing socket
847 write limit reached; closing socket
848 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
848 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
849 Traceback (most recent call last):
849 Traceback (most recent call last):
850 Exception: connection closed after sending N bytes
850 Exception: connection closed after sending N bytes
851
851
852
852
853 #else
853 #else
854 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -12
854 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -12
855 readline(65537) -> (2) \r\n (py3 !)
855 readline(65537) -> (2) \r\n (py3 !)
856 write(167 from 167) -> (33) 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 !)
856 write(167 from 167) -> (33) 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 !)
857 write(28 from 28) -> (35) Transfer-Encoding: chunked\r\n (no-py3 !)
857 write(28 from 28) -> (35) Transfer-Encoding: chunked\r\n (no-py3 !)
858 write(2 from 2) -> (33) \r\n (no-py3 !)
858 write(2 from 2) -> (33) \r\n (no-py3 !)
859 write(6 from 6) -> (27) 1\\r\\n\x04\\r\\n (esc)
859 write(6 from 6) -> (27) 1\\r\\n\x04\\r\\n (esc)
860 write(9 from 9) -> (18) 4\r\nnone\r\n
860 write(9 from 9) -> (18) 4\r\nnone\r\n
861 write(9 from 9) -> (9) 4\r\nHG20\r\n
861 write(9 from 9) -> (9) 4\r\nHG20\r\n
862 write(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
862 write(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
863 write limit reached; closing socket
863 write limit reached; closing socket
864 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
864 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
865 Traceback (most recent call last):
865 Traceback (most recent call last):
866 Exception: connection closed after sending N bytes
866 Exception: connection closed after sending N bytes
867
867
868 write(27) -> 15\r\nInternal Server Error\r\n
868 write(27) -> 15\r\nInternal Server Error\r\n
869 #endif
869 #endif
870
870
871 $ rm -f error.log
871 $ rm -f error.log
872
872
873 Server stops sending after bundle2 part header length
873 Server stops sending after bundle2 part header length
874
874
875 $ hg serve --config badserver.closeaftersendbytes=1001 -p $HGPORT -d --pid-file=hg.pid -E error.log
875 $ hg serve --config badserver.closeaftersendbytes=1001 -p $HGPORT -d --pid-file=hg.pid -E error.log
876 $ cat hg.pid > $DAEMON_PIDS
876 $ cat hg.pid > $DAEMON_PIDS
877
877
878 $ hg clone http://localhost:$HGPORT/ clone
878 $ hg clone http://localhost:$HGPORT/ clone
879 requesting all changes
879 requesting all changes
880 abort: HTTP request error (incomplete response)
880 abort: HTTP request error (incomplete response)
881 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
881 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
882 [255]
882 [255]
883
883
884 $ killdaemons.py $DAEMON_PIDS
884 $ killdaemons.py $DAEMON_PIDS
885
885
886 #if py36
886 #if py36
887 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -11
887 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -11
888 sendall(167 from 167) -> (42) 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
888 sendall(167 from 167) -> (42) 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
889 sendall(6 from 6) -> (36) 1\\r\\n\x04\\r\\n (esc)
889 sendall(6 from 6) -> (36) 1\\r\\n\x04\\r\\n (esc)
890 sendall(9 from 9) -> (27) 4\r\nnone\r\n
890 sendall(9 from 9) -> (27) 4\r\nnone\r\n
891 sendall(9 from 9) -> (18) 4\r\nHG20\r\n
891 sendall(9 from 9) -> (18) 4\r\nHG20\r\n
892 sendall(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
892 sendall(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
893 sendall(9 from 9) -> (0) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
893 sendall(9 from 9) -> (0) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
894 write limit reached; closing socket
894 write limit reached; closing socket
895 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
895 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
896 Traceback (most recent call last):
896 Traceback (most recent call last):
897 Exception: connection closed after sending N bytes
897 Exception: connection closed after sending N bytes
898
898
899
899
900 #else
900 #else
901
901
902 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -13
902 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -13
903 readline(65537) -> (2) \r\n (py3 !)
903 readline(65537) -> (2) \r\n (py3 !)
904 write(167 from 167) -> (42) 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 !)
904 write(167 from 167) -> (42) 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 !)
905 write(28 from 28) -> (44) Transfer-Encoding: chunked\r\n (no-py3 !)
905 write(28 from 28) -> (44) Transfer-Encoding: chunked\r\n (no-py3 !)
906 write(2 from 2) -> (42) \r\n (no-py3 !)
906 write(2 from 2) -> (42) \r\n (no-py3 !)
907 write(6 from 6) -> (36) 1\\r\\n\x04\\r\\n (esc)
907 write(6 from 6) -> (36) 1\\r\\n\x04\\r\\n (esc)
908 write(9 from 9) -> (27) 4\r\nnone\r\n
908 write(9 from 9) -> (27) 4\r\nnone\r\n
909 write(9 from 9) -> (18) 4\r\nHG20\r\n
909 write(9 from 9) -> (18) 4\r\nHG20\r\n
910 write(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
910 write(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
911 write(9 from 9) -> (0) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
911 write(9 from 9) -> (0) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
912 write limit reached; closing socket
912 write limit reached; closing socket
913 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
913 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
914 Traceback (most recent call last):
914 Traceback (most recent call last):
915 Exception: connection closed after sending N bytes
915 Exception: connection closed after sending N bytes
916
916
917 write(27) -> 15\r\nInternal Server Error\r\n
917 write(27) -> 15\r\nInternal Server Error\r\n
918 #endif
918 #endif
919
919
920 $ rm -f error.log
920 $ rm -f error.log
921
921
922 Server stops sending after bundle2 part header
922 Server stops sending after bundle2 part header
923
923
924 $ hg serve --config badserver.closeaftersendbytes=1048 -p $HGPORT -d --pid-file=hg.pid -E error.log
924 $ hg serve --config badserver.closeaftersendbytes=1048 -p $HGPORT -d --pid-file=hg.pid -E error.log
925 $ cat hg.pid > $DAEMON_PIDS
925 $ cat hg.pid > $DAEMON_PIDS
926
926
927 $ hg clone http://localhost:$HGPORT/ clone
927 $ hg clone http://localhost:$HGPORT/ clone
928 requesting all changes
928 requesting all changes
929 adding changesets
929 adding changesets
930 transaction abort!
930 transaction abort!
931 rollback completed
931 rollback completed
932 abort: HTTP request error (incomplete response)
932 abort: HTTP request error (incomplete response)
933 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
933 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
934 [255]
934 [255]
935
935
936 $ killdaemons.py $DAEMON_PIDS
936 $ killdaemons.py $DAEMON_PIDS
937
937
938 #if py36
938 #if py36
939 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -12
939 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -12
940 sendall(167 from 167) -> (89) 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
940 sendall(167 from 167) -> (89) 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
941 sendall(6 from 6) -> (83) 1\\r\\n\x04\\r\\n (esc)
941 sendall(6 from 6) -> (83) 1\\r\\n\x04\\r\\n (esc)
942 sendall(9 from 9) -> (74) 4\r\nnone\r\n
942 sendall(9 from 9) -> (74) 4\r\nnone\r\n
943 sendall(9 from 9) -> (65) 4\r\nHG20\r\n
943 sendall(9 from 9) -> (65) 4\r\nHG20\r\n
944 sendall(9 from 9) -> (56) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
944 sendall(9 from 9) -> (56) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
945 sendall(9 from 9) -> (47) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
945 sendall(9 from 9) -> (47) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
946 sendall(47 from 47) -> (0) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
946 sendall(47 from 47) -> (0) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
947 write limit reached; closing socket
947 write limit reached; closing socket
948 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
948 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
949 Traceback (most recent call last):
949 Traceback (most recent call last):
950 Exception: connection closed after sending N bytes
950 Exception: connection closed after sending N bytes
951
951
952
952
953 #else
953 #else
954 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14
954 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14
955 readline(65537) -> (2) \r\n (py3 !)
955 readline(65537) -> (2) \r\n (py3 !)
956 write(167 from 167) -> (89) 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 !)
956 write(167 from 167) -> (89) 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 !)
957 write(28 from 28) -> (91) Transfer-Encoding: chunked\r\n (no-py3 !)
957 write(28 from 28) -> (91) Transfer-Encoding: chunked\r\n (no-py3 !)
958 write(2 from 2) -> (89) \r\n (no-py3 !)
958 write(2 from 2) -> (89) \r\n (no-py3 !)
959 write(6 from 6) -> (83) 1\\r\\n\x04\\r\\n (esc)
959 write(6 from 6) -> (83) 1\\r\\n\x04\\r\\n (esc)
960 write(9 from 9) -> (74) 4\r\nnone\r\n
960 write(9 from 9) -> (74) 4\r\nnone\r\n
961 write(9 from 9) -> (65) 4\r\nHG20\r\n
961 write(9 from 9) -> (65) 4\r\nHG20\r\n
962 write(9 from 9) -> (56) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
962 write(9 from 9) -> (56) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
963 write(9 from 9) -> (47) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
963 write(9 from 9) -> (47) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
964 write(47 from 47) -> (0) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
964 write(47 from 47) -> (0) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
965 write limit reached; closing socket
965 write limit reached; closing socket
966 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
966 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
967 Traceback (most recent call last):
967 Traceback (most recent call last):
968 Exception: connection closed after sending N bytes
968 Exception: connection closed after sending N bytes
969
969
970 write(27) -> 15\r\nInternal Server Error\r\n
970 write(27) -> 15\r\nInternal Server Error\r\n
971 #endif
971 #endif
972
972
973 $ rm -f error.log
973 $ rm -f error.log
974
974
975 Server stops after bundle2 part payload chunk size
975 Server stops after bundle2 part payload chunk size
976
976
977 $ hg serve --config badserver.closeaftersendbytes=1069 -p $HGPORT -d --pid-file=hg.pid -E error.log
977 $ hg serve --config badserver.closeaftersendbytes=1069 -p $HGPORT -d --pid-file=hg.pid -E error.log
978 $ cat hg.pid > $DAEMON_PIDS
978 $ cat hg.pid > $DAEMON_PIDS
979
979
980 $ hg clone http://localhost:$HGPORT/ clone
980 $ hg clone http://localhost:$HGPORT/ clone
981 requesting all changes
981 requesting all changes
982 adding changesets
982 adding changesets
983 transaction abort!
983 transaction abort!
984 rollback completed
984 rollback completed
985 abort: HTTP request error (incomplete response) (py3 !)
985 abort: HTTP request error (incomplete response) (py3 !)
986 abort: HTTP request error (incomplete response; expected 466 bytes got 7) (no-py3 !)
986 abort: HTTP request error (incomplete response; expected 466 bytes got 7) (no-py3 !)
987 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
987 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
988 [255]
988 [255]
989
989
990 $ killdaemons.py $DAEMON_PIDS
990 $ killdaemons.py $DAEMON_PIDS
991
991
992 #if py36
992 #if py36
993 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14
993 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14
994 sendall(167 from 167) -> (110) 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
994 sendall(167 from 167) -> (110) 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
995 sendall(6 from 6) -> (104) 1\\r\\n\x04\\r\\n (esc)
995 sendall(6 from 6) -> (104) 1\\r\\n\x04\\r\\n (esc)
996 sendall(9 from 9) -> (95) 4\r\nnone\r\n
996 sendall(9 from 9) -> (95) 4\r\nnone\r\n
997 sendall(9 from 9) -> (86) 4\r\nHG20\r\n
997 sendall(9 from 9) -> (86) 4\r\nHG20\r\n
998 sendall(9 from 9) -> (77) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
998 sendall(9 from 9) -> (77) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
999 sendall(9 from 9) -> (68) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
999 sendall(9 from 9) -> (68) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1000 sendall(47 from 47) -> (21) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1000 sendall(47 from 47) -> (21) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1001 sendall(9 from 9) -> (12) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1001 sendall(9 from 9) -> (12) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1002 sendall(12 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1d (esc)
1002 sendall(12 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1d (esc)
1003 write limit reached; closing socket
1003 write limit reached; closing socket
1004 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1004 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1005 Traceback (most recent call last):
1005 Traceback (most recent call last):
1006 Exception: connection closed after sending N bytes
1006 Exception: connection closed after sending N bytes
1007
1007
1008
1008
1009 #else
1009 #else
1010 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -15
1010 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -15
1011 write(167 from 167) -> (110) 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 !)
1011 write(167 from 167) -> (110) 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 !)
1012 write(2 from 2) -> (110) \r\n (no-py3 !)
1012 write(2 from 2) -> (110) \r\n (no-py3 !)
1013 write(6 from 6) -> (104) 1\\r\\n\x04\\r\\n (esc)
1013 write(6 from 6) -> (104) 1\\r\\n\x04\\r\\n (esc)
1014 write(9 from 9) -> (95) 4\r\nnone\r\n
1014 write(9 from 9) -> (95) 4\r\nnone\r\n
1015 write(9 from 9) -> (86) 4\r\nHG20\r\n
1015 write(9 from 9) -> (86) 4\r\nHG20\r\n
1016 write(9 from 9) -> (77) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1016 write(9 from 9) -> (77) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1017 write(9 from 9) -> (68) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1017 write(9 from 9) -> (68) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1018 write(47 from 47) -> (21) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1018 write(47 from 47) -> (21) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1019 write(9 from 9) -> (12) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1019 write(9 from 9) -> (12) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1020 write(12 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1d (esc)
1020 write(12 from 473) -> (0) 1d2\\r\\n\x00\x00\x00\xb2\x96\xee\x1d (esc)
1021 write limit reached; closing socket
1021 write limit reached; closing socket
1022 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1022 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1023 Traceback (most recent call last):
1023 Traceback (most recent call last):
1024 Exception: connection closed after sending N bytes
1024 Exception: connection closed after sending N bytes
1025
1025
1026 write(27) -> 15\r\nInternal Server Error\r\n
1026 write(27) -> 15\r\nInternal Server Error\r\n
1027 #endif
1027 #endif
1028
1028
1029 $ rm -f error.log
1029 $ rm -f error.log
1030
1030
1031 Server stops sending in middle of bundle2 payload chunk
1031 Server stops sending in middle of bundle2 payload chunk
1032
1032
1033 $ hg serve --config badserver.closeaftersendbytes=1530 -p $HGPORT -d --pid-file=hg.pid -E error.log
1033 $ hg serve --config badserver.closeaftersendbytes=1530 -p $HGPORT -d --pid-file=hg.pid -E error.log
1034 $ cat hg.pid > $DAEMON_PIDS
1034 $ cat hg.pid > $DAEMON_PIDS
1035
1035
1036 $ hg clone http://localhost:$HGPORT/ clone
1036 $ hg clone http://localhost:$HGPORT/ clone
1037 requesting all changes
1037 requesting all changes
1038 adding changesets
1038 adding changesets
1039 transaction abort!
1039 transaction abort!
1040 rollback completed
1040 rollback completed
1041 abort: HTTP request error (incomplete response)
1041 abort: HTTP request error (incomplete response)
1042 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
1042 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
1043 [255]
1043 [255]
1044
1044
1045 $ killdaemons.py $DAEMON_PIDS
1045 $ killdaemons.py $DAEMON_PIDS
1046
1046
1047 #if py36
1047 #if py36
1048 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14
1048 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -14
1049 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
1049 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
1050 sendall(6 from 6) -> (565) 1\\r\\n\x04\\r\\n (esc)
1050 sendall(6 from 6) -> (565) 1\\r\\n\x04\\r\\n (esc)
1051 sendall(9 from 9) -> (556) 4\r\nnone\r\n
1051 sendall(9 from 9) -> (556) 4\r\nnone\r\n
1052 sendall(9 from 9) -> (547) 4\r\nHG20\r\n
1052 sendall(9 from 9) -> (547) 4\r\nHG20\r\n
1053 sendall(9 from 9) -> (538) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1053 sendall(9 from 9) -> (538) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1054 sendall(9 from 9) -> (529) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1054 sendall(9 from 9) -> (529) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1055 sendall(47 from 47) -> (482) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1055 sendall(47 from 47) -> (482) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1056 sendall(9 from 9) -> (473) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1056 sendall(9 from 9) -> (473) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1057 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1057 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1058 write limit reached; closing socket
1058 write limit reached; closing socket
1059 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1059 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1060 Traceback (most recent call last):
1060 Traceback (most recent call last):
1061 Exception: connection closed after sending N bytes
1061 Exception: connection closed after sending N bytes
1062
1062
1063
1063
1064 #else
1064 #else
1065 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -16
1065 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -16
1066 readline(65537) -> (2) \r\n (py3 !)
1066 readline(65537) -> (2) \r\n (py3 !)
1067 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 !)
1067 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 !)
1068 write(28 from 28) -> (573) Transfer-Encoding: chunked\r\n (no-py3 !)
1068 write(28 from 28) -> (573) Transfer-Encoding: chunked\r\n (no-py3 !)
1069 write(2 from 2) -> (571) \r\n (no-py3 !)
1069 write(2 from 2) -> (571) \r\n (no-py3 !)
1070 write(6 from 6) -> (565) 1\\r\\n\x04\\r\\n (esc)
1070 write(6 from 6) -> (565) 1\\r\\n\x04\\r\\n (esc)
1071 write(9 from 9) -> (556) 4\r\nnone\r\n
1071 write(9 from 9) -> (556) 4\r\nnone\r\n
1072 write(9 from 9) -> (547) 4\r\nHG20\r\n
1072 write(9 from 9) -> (547) 4\r\nHG20\r\n
1073 write(9 from 9) -> (538) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1073 write(9 from 9) -> (538) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1074 write(9 from 9) -> (529) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1074 write(9 from 9) -> (529) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1075 write(47 from 47) -> (482) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1075 write(47 from 47) -> (482) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1076 write(9 from 9) -> (473) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1076 write(9 from 9) -> (473) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1077 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1077 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1078 write limit reached; closing socket
1078 write limit reached; closing socket
1079 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1079 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1080 Traceback (most recent call last):
1080 Traceback (most recent call last):
1081 Exception: connection closed after sending N bytes
1081 Exception: connection closed after sending N bytes
1082
1082
1083 write(27) -> 15\r\nInternal Server Error\r\n
1083 write(27) -> 15\r\nInternal Server Error\r\n
1084 #endif
1084 #endif
1085
1085
1086 $ rm -f error.log
1086 $ rm -f error.log
1087
1087
1088 Server stops sending after 0 length payload chunk size
1088 Server stops sending after 0 length payload chunk size
1089
1089
1090 $ hg serve --config badserver.closeaftersendbytes=1561 -p $HGPORT -d --pid-file=hg.pid -E error.log
1090 $ hg serve --config badserver.closeaftersendbytes=1561 -p $HGPORT -d --pid-file=hg.pid -E error.log
1091 $ cat hg.pid > $DAEMON_PIDS
1091 $ cat hg.pid > $DAEMON_PIDS
1092
1092
1093 $ hg clone http://localhost:$HGPORT/ clone
1093 $ hg clone http://localhost:$HGPORT/ clone
1094 requesting all changes
1094 requesting all changes
1095 adding changesets
1095 adding changesets
1096 adding manifests
1096 adding manifests
1097 adding file changes
1097 adding file changes
1098 transaction abort!
1098 transaction abort!
1099 rollback completed
1099 rollback completed
1100 abort: HTTP request error (incomplete response) (py3 !)
1100 abort: HTTP request error (incomplete response) (py3 !)
1101 abort: HTTP request error (incomplete response; expected 32 bytes got 9) (no-py3 !)
1101 abort: HTTP request error (incomplete response; expected 32 bytes got 9) (no-py3 !)
1102 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
1102 (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator)
1103 [255]
1103 [255]
1104
1104
1105 $ killdaemons.py $DAEMON_PIDS
1105 $ killdaemons.py $DAEMON_PIDS
1106
1106
1107 #if py36
1107 #if py36
1108 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -16
1108 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -16
1109 sendall(6 from 6) -> (596) 1\\r\\n\x04\\r\\n (esc)
1109 sendall(6 from 6) -> (596) 1\\r\\n\x04\\r\\n (esc)
1110 sendall(9 from 9) -> (587) 4\r\nnone\r\n
1110 sendall(9 from 9) -> (587) 4\r\nnone\r\n
1111 sendall(9 from 9) -> (578) 4\r\nHG20\r\n
1111 sendall(9 from 9) -> (578) 4\r\nHG20\r\n
1112 sendall(9 from 9) -> (569) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1112 sendall(9 from 9) -> (569) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1113 sendall(9 from 9) -> (560) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1113 sendall(9 from 9) -> (560) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1114 sendall(47 from 47) -> (513) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1114 sendall(47 from 47) -> (513) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1115 sendall(9 from 9) -> (504) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1115 sendall(9 from 9) -> (504) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1116 sendall(473 from 473) -> (31) 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1116 sendall(473 from 473) -> (31) 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1117 sendall(9 from 9) -> (22) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1117 sendall(9 from 9) -> (22) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1118 sendall(9 from 9) -> (13) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1118 sendall(9 from 9) -> (13) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1119 sendall(13 from 38) -> (0) 20\\r\\n\x08LISTKEYS (esc)
1119 sendall(13 from 38) -> (0) 20\\r\\n\x08LISTKEYS (esc)
1120 write limit reached; closing socket
1120 write limit reached; closing socket
1121 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1121 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1122 Traceback (most recent call last):
1122 Traceback (most recent call last):
1123 Exception: connection closed after sending N bytes
1123 Exception: connection closed after sending N bytes
1124
1124
1125
1125
1126 #else
1126 #else
1127 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -17
1127 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -17
1128 write(6 from 6) -> (596) 1\\r\\n\x04\\r\\n (esc)
1128 write(6 from 6) -> (596) 1\\r\\n\x04\\r\\n (esc)
1129 write(9 from 9) -> (587) 4\r\nnone\r\n
1129 write(9 from 9) -> (587) 4\r\nnone\r\n
1130 write(9 from 9) -> (578) 4\r\nHG20\r\n
1130 write(9 from 9) -> (578) 4\r\nHG20\r\n
1131 write(9 from 9) -> (569) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1131 write(9 from 9) -> (569) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1132 write(9 from 9) -> (560) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1132 write(9 from 9) -> (560) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1133 write(47 from 47) -> (513) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1133 write(47 from 47) -> (513) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1134 write(9 from 9) -> (504) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1134 write(9 from 9) -> (504) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1135 write(473 from 473) -> (31) 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1135 write(473 from 473) -> (31) 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1136 write(9 from 9) -> (22) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1136 write(9 from 9) -> (22) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1137 write(9 from 9) -> (13) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1137 write(9 from 9) -> (13) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1138 write(13 from 38) -> (0) 20\\r\\n\x08LISTKEYS (esc)
1138 write(13 from 38) -> (0) 20\\r\\n\x08LISTKEYS (esc)
1139 write limit reached; closing socket
1139 write limit reached; closing socket
1140 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1140 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1141 Traceback (most recent call last):
1141 Traceback (most recent call last):
1142 Exception: connection closed after sending N bytes
1142 Exception: connection closed after sending N bytes
1143
1143
1144 write(27) -> 15\r\nInternal Server Error\r\n
1144 write(27) -> 15\r\nInternal Server Error\r\n
1145 #endif
1145 #endif
1146
1146
1147 $ rm -f error.log
1147 $ rm -f error.log
1148
1148
1149 Server stops sending after 0 part bundle part header (indicating end of bundle2 payload)
1149 Server stops sending after 0 part bundle part header (indicating end of bundle2 payload)
1150 This is before the 0 size chunked transfer part that signals end of HTTP response.
1150 This is before the 0 size chunked transfer part that signals end of HTTP response.
1151
1151
1152 $ hg serve --config badserver.closeaftersendbytes=1736 -p $HGPORT -d --pid-file=hg.pid -E error.log
1152 $ hg serve --config badserver.closeaftersendbytes=1736 -p $HGPORT -d --pid-file=hg.pid -E error.log
1153 $ cat hg.pid > $DAEMON_PIDS
1153 $ cat hg.pid > $DAEMON_PIDS
1154
1154
1155 $ hg clone http://localhost:$HGPORT/ clone
1155 $ hg clone http://localhost:$HGPORT/ clone
1156 requesting all changes
1156 requesting all changes
1157 adding changesets
1157 adding changesets
1158 adding manifests
1158 adding manifests
1159 adding file changes
1159 adding file changes
1160 added 1 changesets with 1 changes to 1 files
1160 added 1 changesets with 1 changes to 1 files
1161 new changesets 96ee1d7354c4
1161 new changesets 96ee1d7354c4
1162 updating to branch default
1162 updating to branch default
1163 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1163 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1164
1164
1165 $ killdaemons.py $DAEMON_PIDS
1165 $ killdaemons.py $DAEMON_PIDS
1166
1166
1167 #if py36
1167 #if py36
1168 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -20
1168 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -20
1169 sendall(9 from 9) -> (744) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1169 sendall(9 from 9) -> (744) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1170 sendall(9 from 9) -> (735) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1170 sendall(9 from 9) -> (735) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1171 sendall(47 from 47) -> (688) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1171 sendall(47 from 47) -> (688) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1172 sendall(9 from 9) -> (679) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1172 sendall(9 from 9) -> (679) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1173 sendall(473 from 473) -> (206) 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1173 sendall(473 from 473) -> (206) 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1174 sendall(9 from 9) -> (197) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1174 sendall(9 from 9) -> (197) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1175 sendall(9 from 9) -> (188) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1175 sendall(9 from 9) -> (188) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1176 sendall(38 from 38) -> (150) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1176 sendall(38 from 38) -> (150) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1177 sendall(9 from 9) -> (141) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1177 sendall(9 from 9) -> (141) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1178 sendall(64 from 64) -> (77) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1178 sendall(64 from 64) -> (77) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1179 sendall(9 from 9) -> (68) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1179 sendall(9 from 9) -> (68) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1180 sendall(9 from 9) -> (59) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1180 sendall(9 from 9) -> (59) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1181 sendall(41 from 41) -> (18) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1181 sendall(41 from 41) -> (18) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1182 sendall(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1182 sendall(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1183 sendall(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1183 sendall(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1184 write limit reached; closing socket
1184 write limit reached; closing socket
1185 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1185 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1186 Traceback (most recent call last):
1186 Traceback (most recent call last):
1187 Exception: connection closed after sending N bytes
1187 Exception: connection closed after sending N bytes
1188
1188
1189
1189
1190 #else
1190 #else
1191 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -21
1191 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -21
1192 write(9 from 9) -> (744) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1192 write(9 from 9) -> (744) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1193 write(9 from 9) -> (735) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1193 write(9 from 9) -> (735) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1194 write(47 from 47) -> (688) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1194 write(47 from 47) -> (688) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1195 write(9 from 9) -> (679) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1195 write(9 from 9) -> (679) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1196 write(473 from 473) -> (206) 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1196 write(473 from 473) -> (206) 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1197 write(9 from 9) -> (197) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1197 write(9 from 9) -> (197) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1198 write(9 from 9) -> (188) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1198 write(9 from 9) -> (188) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1199 write(38 from 38) -> (150) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1199 write(38 from 38) -> (150) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1200 write(9 from 9) -> (141) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1200 write(9 from 9) -> (141) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1201 write(64 from 64) -> (77) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1201 write(64 from 64) -> (77) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1202 write(9 from 9) -> (68) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1202 write(9 from 9) -> (68) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1203 write(9 from 9) -> (59) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1203 write(9 from 9) -> (59) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1204 write(41 from 41) -> (18) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1204 write(41 from 41) -> (18) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1205 write(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1205 write(9 from 9) -> (9) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1206 write(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1206 write(9 from 9) -> (0) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1207 write limit reached; closing socket
1207 write limit reached; closing socket
1208 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1208 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1209 Traceback (most recent call last):
1209 Traceback (most recent call last):
1210 Exception: connection closed after sending N bytes
1210 Exception: connection closed after sending N bytes
1211
1211
1212 write(27) -> 15\r\nInternal Server Error\r\n
1212 write(27) -> 15\r\nInternal Server Error\r\n
1213 #endif
1213 #endif
1214
1214
1215 $ rm -f error.log
1215 $ rm -f error.log
1216 $ rm -rf clone
1216 $ rm -rf clone
1217
1217
1218 Server sends a size 0 chunked-transfer size without terminating \r\n
1218 Server sends a size 0 chunked-transfer size without terminating \r\n
1219
1219
1220 $ hg serve --config badserver.closeaftersendbytes=1739 -p $HGPORT -d --pid-file=hg.pid -E error.log
1220 $ hg serve --config badserver.closeaftersendbytes=1739 -p $HGPORT -d --pid-file=hg.pid -E error.log
1221 $ cat hg.pid > $DAEMON_PIDS
1221 $ cat hg.pid > $DAEMON_PIDS
1222
1222
1223 $ hg clone http://localhost:$HGPORT/ clone
1223 $ hg clone http://localhost:$HGPORT/ clone
1224 requesting all changes
1224 requesting all changes
1225 adding changesets
1225 adding changesets
1226 adding manifests
1226 adding manifests
1227 adding file changes
1227 adding file changes
1228 added 1 changesets with 1 changes to 1 files
1228 added 1 changesets with 1 changes to 1 files
1229 new changesets 96ee1d7354c4
1229 new changesets 96ee1d7354c4
1230 updating to branch default
1230 updating to branch default
1231 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1231 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1232
1232
1233 $ killdaemons.py $DAEMON_PIDS
1233 $ killdaemons.py $DAEMON_PIDS
1234
1234
1235 #if py36
1235 #if py36
1236 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -21
1236 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -21
1237 sendall(9 from 9) -> (747) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1237 sendall(9 from 9) -> (747) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1238 sendall(9 from 9) -> (738) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1238 sendall(9 from 9) -> (738) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1239 sendall(47 from 47) -> (691) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1239 sendall(47 from 47) -> (691) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1240 sendall(9 from 9) -> (682) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1240 sendall(9 from 9) -> (682) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1241 sendall(473 from 473) -> (209) 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1241 sendall(473 from 473) -> (209) 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1242 sendall(9 from 9) -> (200) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1242 sendall(9 from 9) -> (200) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1243 sendall(9 from 9) -> (191) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1243 sendall(9 from 9) -> (191) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1244 sendall(38 from 38) -> (153) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1244 sendall(38 from 38) -> (153) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1245 sendall(9 from 9) -> (144) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1245 sendall(9 from 9) -> (144) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1246 sendall(64 from 64) -> (80) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1246 sendall(64 from 64) -> (80) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1247 sendall(9 from 9) -> (71) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1247 sendall(9 from 9) -> (71) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1248 sendall(9 from 9) -> (62) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1248 sendall(9 from 9) -> (62) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1249 sendall(41 from 41) -> (21) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1249 sendall(41 from 41) -> (21) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1250 sendall(9 from 9) -> (12) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1250 sendall(9 from 9) -> (12) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1251 sendall(9 from 9) -> (3) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1251 sendall(9 from 9) -> (3) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1252 sendall(3 from 5) -> (0) 0\r\n
1252 sendall(3 from 5) -> (0) 0\r\n
1253 write limit reached; closing socket
1253 write limit reached; closing socket
1254 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1254 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1255 Traceback (most recent call last):
1255 Traceback (most recent call last):
1256 Exception: connection closed after sending N bytes
1256 Exception: connection closed after sending N bytes
1257
1257
1258
1258
1259 #else
1259 #else
1260 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -22
1260 $ "$PYTHON" $TESTDIR/filtertraceback.py < error.log | tail -22
1261 write(9 from 9) -> (747) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1261 write(9 from 9) -> (747) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1262 write(9 from 9) -> (738) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1262 write(9 from 9) -> (738) 4\\r\\n\x00\x00\x00)\\r\\n (esc)
1263 write(47 from 47) -> (691) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1263 write(47 from 47) -> (691) 29\\r\\n\x0bCHANGEGROUP\x00\x00\x00\x00\x01\x01\x07\x02 \x01version02nbchanges1\\r\\n (esc)
1264 write(9 from 9) -> (682) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1264 write(9 from 9) -> (682) 4\\r\\n\x00\x00\x01\xd2\\r\\n (esc)
1265 write(473 from 473) -> (209) 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1265 write(473 from 473) -> (209) 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<O\x8e(\xf4\xf9\xa8\x14)\x9a<\xbb_P\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-foo\x00b80de5d138758541c5f05265ad144ab9fa86d1db\\n\x00\x00\x00\x00\x00\x00\x00\x07foo\x00\x00\x00h\xb8\\r\xe5\xd18u\x85A\xc5\xf0Re\xad\x14J\xb9\xfa\x86\xd1\xdb\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\\r\\n (esc)
1266 write(9 from 9) -> (200) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1266 write(9 from 9) -> (200) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1267 write(9 from 9) -> (191) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1267 write(9 from 9) -> (191) 4\\r\\n\x00\x00\x00 \\r\\n (esc)
1268 write(38 from 38) -> (153) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1268 write(38 from 38) -> (153) 20\\r\\n\x08LISTKEYS\x00\x00\x00\x01\x01\x00 \x06namespacephases\\r\\n (esc)
1269 write(9 from 9) -> (144) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1269 write(9 from 9) -> (144) 4\\r\\n\x00\x00\x00:\\r\\n (esc)
1270 write(64 from 64) -> (80) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1270 write(64 from 64) -> (80) 3a\r\n96ee1d7354c4ad7372047672c36a1f561e3a6a4c 1\npublishing True\r\n
1271 write(9 from 9) -> (71) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1271 write(9 from 9) -> (71) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1272 write(9 from 9) -> (62) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1272 write(9 from 9) -> (62) 4\\r\\n\x00\x00\x00#\\r\\n (esc)
1273 write(41 from 41) -> (21) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1273 write(41 from 41) -> (21) 23\\r\\n\x08LISTKEYS\x00\x00\x00\x02\x01\x00 namespacebookmarks\\r\\n (esc)
1274 write(9 from 9) -> (12) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1274 write(9 from 9) -> (12) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1275 write(9 from 9) -> (3) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1275 write(9 from 9) -> (3) 4\\r\\n\x00\x00\x00\x00\\r\\n (esc)
1276 write(3 from 5) -> (0) 0\r\n
1276 write(3 from 5) -> (0) 0\r\n
1277 write limit reached; closing socket
1277 write limit reached; closing socket
1278 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1278 $LOCALIP - - [$ERRDATE$] Exception happened during processing request '/?cmd=getbundle': (glob)
1279 Traceback (most recent call last):
1279 Traceback (most recent call last):
1280 Exception: connection closed after sending N bytes
1280 Exception: connection closed after sending N bytes
1281
1281
1282 write(27) -> 15\r\nInternal Server Error\r\n
1282 write(27) -> 15\r\nInternal Server Error\r\n
1283 #endif
1283 #endif
1284
1284
1285 $ rm -f error.log
1285 $ rm -f error.log
1286 $ rm -rf clone
1286 $ rm -rf clone
1 NO CONTENT: file renamed from tests/badserverext.py to tests/testlib/badserverext.py
NO CONTENT: file renamed from tests/badserverext.py to tests/testlib/badserverext.py
General Comments 0
You need to be logged in to leave comments. Login now