~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/https_server.py

  • Committer: Richard Wilbur
  • Date: 2016-02-04 19:07:28 UTC
  • mto: This revision was merged to the branch mainline in revision 6618.
  • Revision ID: richard.wilbur@gmail.com-20160204190728-p0zvfii6zase0fw7
Update COPYING.txt from the original http://www.gnu.org/licenses/gpl-2.0.txt  (Only differences were in whitespace.)  Thanks to Petr Stodulka for pointing out the discrepancy.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2007-2010 Canonical Ltd
 
1
# Copyright (C) 2007-2011 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
17
17
"""HTTPS test server, available when ssl python module is available"""
18
18
 
19
19
import ssl
 
20
import sys
20
21
 
21
22
from bzrlib.tests import (
22
23
    http_server,
48
49
        serving = test_server.TestingTCPServerMixin.verify_request(
49
50
            self, request, client_address)
50
51
        if serving:
51
 
            request.do_handshake()
 
52
            try:
 
53
                request.do_handshake()
 
54
            except ssl.SSLError, e:
 
55
                # FIXME: We proabaly want more tests to capture which ssl
 
56
                # errors are worth reporting but mostly our tests want an https
 
57
                # server that works -- vila 2012-01-19
 
58
                return False
52
59
        return serving
53
60
 
 
61
    def ignored_exceptions_during_shutdown(self, e):
 
62
        if (sys.version < (2, 7) and isinstance(e, TypeError)
 
63
            and e.args[0] == "'member_descriptor' object is not callable"):
 
64
            # Fixed in python-2.7 (and some Ubuntu 2.6) there is a bug where
 
65
            # the ssl socket fail to raise a socket.error when trying to read
 
66
            # from a closed socket. This is rarely observed in practice but
 
67
            # still make valid selftest runs fail if not caught.
 
68
            return True
 
69
        base = test_server.TestingTCPServerMixin
 
70
        return base.ignored_exceptions_during_shutdown(self, e)
 
71
 
54
72
 
55
73
class TestingHTTPSServer(TestingHTTPSServerMixin,
56
74
                         http_server.TestingHTTPServer):