Merge lp:~vila/bzr/686008-spurious-https-failure into lp:bzr
| Status: | Merged | ||||
|---|---|---|---|---|---|
| Approved by: | Vincent Ladeuil on 2010-12-07 | ||||
| Approved revision: | 5564 | ||||
| Merged at revision: | 5561 | ||||
| Proposed branch: | lp:~vila/bzr/686008-spurious-https-failure | ||||
| Merge into: | lp:bzr | ||||
| Diff against target: |
66 lines (+18/-3) 3 files modified
bzrlib/tests/https_server.py (+12/-0) bzrlib/tests/test_server.py (+3/-3) doc/en/release-notes/bzr-2.3.txt (+3/-0) |
||||
| To merge this branch: | bzr merge lp:~vila/bzr/686008-spurious-https-failure | ||||
| Related bugs: |
|
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Martin Packman (community) | 2010-12-07 | Approve on 2010-12-07 | |
|
Review via email:
|
|||
Commit Message
Catch spurious and bogus ssl TypeError exceptions.
Description of the Change
This fixes bug #686008 by making sure we're not affected by bug
#637821 for python versions that didn't get spiv's patch. In
other words: in some cases, during cleanup of tests involving an
https server, we get a TypeError exception while trying to read a
closed ssl socket instead of a socket.error.
Various tests has been affected by this bug making selftest
itself unreliable since the failure was rarely on the same test
nor even the same platform.
I was able to trigger the bug with a test but unfortunately not
in a reproducible way :-/ It needed no less than 3 breakpoints,
some prints and a bit of luck...
Anyhow, the fix itself is reduced enough in scope that it should
never mask real failures (this occurs only during a test cleanup
and has no effect on test validity).
So the fix works but since I can't trigger it on demand (and it
has served its purpose which was to check the exception), I've
removed the test from the proposal, here it is for the curious:
class TestBug686008(
_test_
def test_it(self):
from bzrlib.tests import https_server
import ssl
trigger_bug = False
class RequestHandler(
def handle_
if trigger_bug:
def do_HEAD(self):
# Always succeds, leaving the connection open
server = https_server.
t = _urllib.
# We need a first clean request
# Now we force the server to choke
trigger_bug = True
- 5564. By Vincent Ladeuil on 2010-12-07
-
Fix typo
| Vincent Ladeuil (vila) wrote : | # |
sent to pqm by email
- 5565. By Vincent Ladeuil on 2010-12-07
-
Fix spelling mistake.

Looks sane to me. Grammar nit:
- ...same one than TestingTCPServer...
+ ...same one as TestingTCPServer...