Skip to content

back to Claude Sonnet 3.5 - Fill-in + Unit Test Feedback summary

Claude Sonnet 3.5 - Fill-in + Unit Test Feedback: imapclient

Pytest Summary for test tests

status count
failed 156
passed 8
total 164
collected 164

Failed pytests:

test_auth.py::TestPlainLogin::test_fail

test_auth.py::TestPlainLogin::test_fail
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_auth.py::TestPlainLogin::test_simple

test_auth.py::TestPlainLogin::test_simple
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_auth.py::TestPlainLogin::test_with_authorization_identity

test_auth.py::TestPlainLogin::test_with_authorization_identity
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_enable.py::TestEnable::test_failed1

test_enable.py::TestEnable::test_failed1
self = 

    def setUp(self):
>       super(TestEnable, self).setUp()

tests/test_enable.py:14: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_enable.py::TestEnable::test_failed2

test_enable.py::TestEnable::test_failed2
self = 

    def setUp(self):
>       super(TestEnable, self).setUp()

tests/test_enable.py:14: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_enable.py::TestEnable::test_multiple

test_enable.py::TestEnable::test_multiple
self = 

    def setUp(self):
>       super(TestEnable, self).setUp()

tests/test_enable.py:14: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_enable.py::TestEnable::test_success

test_enable.py::TestEnable::test_success
self = 

    def setUp(self):
>       super(TestEnable, self).setUp()

tests/test_enable.py:14: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_enable.py::TestEnable::test_wrong_state

test_enable.py::TestEnable::test_wrong_state
self = 

    def setUp(self):
>       super(TestEnable, self).setUp()

tests/test_enable.py:14: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_folder_status.py::TestFolderStatus::test_basic

test_folder_status.py::TestFolderStatus::test_basic
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_folder_status.py::TestFolderStatus::test_extra_response

test_folder_status.py::TestFolderStatus::test_extra_response
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_folder_status.py::TestFolderStatus::test_literal

test_folder_status.py::TestFolderStatus::test_literal
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imap_utf7.py::IMAP4UTF7TestCase::test_decode

test_imap_utf7.py::IMAP4UTF7TestCase::test_decode
self = 

    def test_decode(self):
        for input, output in self.tests:
            decoded = decode(output)
            self.assertIsInstance(decoded, str)
>           self.assertEqual(input, decoded)
E           AssertionError: 'Stuff & Things' != 'Stuff Things'
E           - Stuff & Things
E           ?      --
E           + Stuff Things

tests/test_imap_utf7.py:37: AssertionError

test_imap_utf7.py::IMAP4UTF7TestCase::test_encode

test_imap_utf7.py::IMAP4UTF7TestCase::test_encode
self = 

    def test_encode(self):
        for input, output in self.tests:
            encoded = encode(input)
            self.assertIsInstance(encoded, bytes)
>           self.assertEqual(encoded, output)
E           AssertionError: b'Stuff &ACY- Things' != b'Stuff &-Things'

tests/test_imap_utf7.py:31: AssertionError

test_imap_utf7.py::IMAP4UTF7TestCase::test_printable_singletons

test_imap_utf7.py::IMAP4UTF7TestCase::test_printable_singletons
self = 

    def test_printable_singletons(self):
        """
        The IMAP4 modified UTF-7 implementation encodes all printable
        characters which are in ASCII using the corresponding ASCII byte.
        """
        # All printables represent themselves
        for o in list(range(0x20, 0x26)) + list(range(0x27, 0x7F)):
            self.assertEqual(bytes((o,)), encode(chr(o)))
            self.assertEqual(chr(o), decode(bytes((o,))))
>       self.assertEqual(encode("&"), b"&-")
E       AssertionError: b'&ACY-' != b'&-'

tests/test_imap_utf7.py:48: AssertionError

test_imapclient.py::TestListFolders::test_blanks

test_imapclient.py::TestListFolders::test_blanks
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestListFolders::test_empty_response

test_imapclient.py::TestListFolders::test_empty_response
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestListFolders::test_folder_encode_off

test_imapclient.py::TestListFolders::test_folder_encode_off
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestListFolders::test_funky_characters

test_imapclient.py::TestListFolders::test_funky_characters
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestListFolders::test_list_folders

test_imapclient.py::TestListFolders::test_list_folders
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestListFolders::test_list_folders_NO

test_imapclient.py::TestListFolders::test_list_folders_NO
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestListFolders::test_list_sub_folders

test_imapclient.py::TestListFolders::test_list_sub_folders
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestListFolders::test_list_sub_folders_NO

test_imapclient.py::TestListFolders::test_list_sub_folders_NO
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestListFolders::test_mixed

test_imapclient.py::TestListFolders::test_mixed
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestListFolders::test_quoted_specials

test_imapclient.py::TestListFolders::test_quoted_specials
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestListFolders::test_simple

test_imapclient.py::TestListFolders::test_simple
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestListFolders::test_unquoted_numeric_folder_name

test_imapclient.py::TestListFolders::test_unquoted_numeric_folder_name
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestListFolders::test_unquoted_numeric_folder_name_parsed_as_long

test_imapclient.py::TestListFolders::test_unquoted_numeric_folder_name_parsed_as_long
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestListFolders::test_utf7_decoding

test_imapclient.py::TestListFolders::test_utf7_decoding
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestListFolders::test_without_quotes

test_imapclient.py::TestListFolders::test_without_quotes
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestFindSpecialFolder::test_find_special_folder_with_special_use

test_imapclient.py::TestFindSpecialFolder::test_find_special_folder_with_special_use
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestFindSpecialFolder::test_find_special_folder_with_special_use_single_flag

test_imapclient.py::TestFindSpecialFolder::test_find_special_folder_with_special_use_single_flag
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestFindSpecialFolder::test_find_special_folder_without_special_use_nor_namespace

test_imapclient.py::TestFindSpecialFolder::test_find_special_folder_without_special_use_nor_namespace
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestSelectFolder::test_normal

test_imapclient.py::TestSelectFolder::test_normal
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestSelectFolder::test_unselect

test_imapclient.py::TestSelectFolder::test_unselect
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestAppend::test_multiappend

test_imapclient.py::TestAppend::test_multiappend
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestAppend::test_multiappend_with_flags_and_internaldate

test_imapclient.py::TestAppend::test_multiappend_with_flags_and_internaldate
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestAppend::test_with_msg_time

test_imapclient.py::TestAppend::test_with_msg_time
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestAppend::test_without_msg_time

test_imapclient.py::TestAppend::test_without_msg_time
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestAclMethods::test_getacl

test_imapclient.py::TestAclMethods::test_getacl
self = 

    def setUp(self):
>       super(TestAclMethods, self).setUp()

tests/test_imapclient.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestAclMethods::test_setacl

test_imapclient.py::TestAclMethods::test_setacl
self = 

    def setUp(self):
>       super(TestAclMethods, self).setUp()

tests/test_imapclient.py:419: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestQuota::test__get_quota

test_imapclient.py::TestQuota::test__get_quota
self = 

    def setUp(self):
>       super(TestQuota, self).setUp()

tests/test_imapclient.py:443: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestQuota::test_get_quota_root

test_imapclient.py::TestQuota::test_get_quota_root
self = 

    def setUp(self):
>       super(TestQuota, self).setUp()

tests/test_imapclient.py:443: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestQuota::test_parse_quota

test_imapclient.py::TestQuota::test_parse_quota
self = 

    def setUp(self):
>       super(TestQuota, self).setUp()

tests/test_imapclient.py:443: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestQuota::test_set_quota

test_imapclient.py::TestQuota::test_set_quota
self = 

    def setUp(self):
>       super(TestQuota, self).setUp()

tests/test_imapclient.py:443: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestIdleAndNoop::test_consume_until_tagged_response

test_imapclient.py::TestIdleAndNoop::test_consume_until_tagged_response
self = 

    def setUp(self):
>       super(TestIdleAndNoop, self).setUp()

tests/test_imapclient.py:525: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestIdleAndNoop::test_idle

test_imapclient.py::TestIdleAndNoop::test_idle
self = 

    def setUp(self):
>       super(TestIdleAndNoop, self).setUp()

tests/test_imapclient.py:525: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestIdleAndNoop::test_idle_check_blocking

test_imapclient.py::TestIdleAndNoop::test_idle_check_blocking
self = 

    def setUp(self):
>       super(TestIdleAndNoop, self).setUp()

tests/test_imapclient.py:525: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestIdleAndNoop::test_idle_check_blocking_poll

test_imapclient.py::TestIdleAndNoop::test_idle_check_blocking_poll
self = 

    def setUp(self):
>       super(TestIdleAndNoop, self).setUp()

tests/test_imapclient.py:525: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestIdleAndNoop::test_idle_check_timeout

test_imapclient.py::TestIdleAndNoop::test_idle_check_timeout
self = 

    def setUp(self):
>       super(TestIdleAndNoop, self).setUp()

tests/test_imapclient.py:525: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestIdleAndNoop::test_idle_check_timeout_poll

test_imapclient.py::TestIdleAndNoop::test_idle_check_timeout_poll
self = 

    def setUp(self):
>       super(TestIdleAndNoop, self).setUp()

tests/test_imapclient.py:525: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestIdleAndNoop::test_idle_check_with_data

test_imapclient.py::TestIdleAndNoop::test_idle_check_with_data
self = 

    def setUp(self):
>       super(TestIdleAndNoop, self).setUp()

tests/test_imapclient.py:525: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestIdleAndNoop::test_idle_check_with_data_poll

test_imapclient.py::TestIdleAndNoop::test_idle_check_with_data_poll
self = 

    def setUp(self):
>       super(TestIdleAndNoop, self).setUp()

tests/test_imapclient.py:525: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestIdleAndNoop::test_idle_done

test_imapclient.py::TestIdleAndNoop::test_idle_done
self = 

    def setUp(self):
>       super(TestIdleAndNoop, self).setUp()

tests/test_imapclient.py:525: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestIdleAndNoop::test_noop

test_imapclient.py::TestIdleAndNoop::test_noop
self = 

    def setUp(self):
>       super(TestIdleAndNoop, self).setUp()

tests/test_imapclient.py:525: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestDebugLogging::test_IMAP_is_patched

test_imapclient.py::TestDebugLogging::test_IMAP_is_patched
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestDebugLogging::test_redacted_password

test_imapclient.py::TestDebugLogging::test_redacted_password
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestTimeNormalisation::test_default

test_imapclient.py::TestTimeNormalisation::test_default
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestTimeNormalisation::test_pass_through

test_imapclient.py::TestTimeNormalisation::test_pass_through
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestNamespace::test_complex

test_imapclient.py::TestNamespace::test_complex
self = 

    def setUp(self):
>       super(TestNamespace, self).setUp()

tests/test_imapclient.py:796: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestNamespace::test_folder_decoding

test_imapclient.py::TestNamespace::test_folder_decoding
self = 

    def setUp(self):
>       super(TestNamespace, self).setUp()

tests/test_imapclient.py:796: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestNamespace::test_other_only

test_imapclient.py::TestNamespace::test_other_only
self = 

    def setUp(self):
>       super(TestNamespace, self).setUp()

tests/test_imapclient.py:796: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestNamespace::test_simple

test_imapclient.py::TestNamespace::test_simple
self = 

    def setUp(self):
>       super(TestNamespace, self).setUp()

tests/test_imapclient.py:796: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestNamespace::test_without_folder_decoding

test_imapclient.py::TestNamespace::test_without_folder_decoding
self = 

    def setUp(self):
>       super(TestNamespace, self).setUp()

tests/test_imapclient.py:796: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestCapabilities::test_caching

test_imapclient.py::TestCapabilities::test_caching
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestCapabilities::test_decorator

test_imapclient.py::TestCapabilities::test_decorator
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestCapabilities::test_has_capability

test_imapclient.py::TestCapabilities::test_has_capability
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestCapabilities::test_post_auth_request

test_imapclient.py::TestCapabilities::test_post_auth_request
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestCapabilities::test_preauth

test_imapclient.py::TestCapabilities::test_preauth
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestCapabilities::test_server_returned_capability_after_auth

test_imapclient.py::TestCapabilities::test_server_returned_capability_after_auth
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestCapabilities::test_with_starttls

test_imapclient.py::TestCapabilities::test_with_starttls
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestId::test_id

test_imapclient.py::TestId::test_id
self = 

    def setUp(self):
>       super(TestId, self).setUp()

tests/test_imapclient.py:917: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestId::test_invalid_parameters

test_imapclient.py::TestId::test_invalid_parameters
self = 

    def setUp(self):
>       super(TestId, self).setUp()

tests/test_imapclient.py:917: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestId::test_no_support

test_imapclient.py::TestId::test_no_support
self = 

    def setUp(self):
>       super(TestId, self).setUp()

tests/test_imapclient.py:917: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestRawCommand::test_complex

test_imapclient.py::TestRawCommand::test_complex
self = 

    def setUp(self):
>       super(TestRawCommand, self).setUp()

tests/test_imapclient.py:946: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestRawCommand::test_embedded_literal

test_imapclient.py::TestRawCommand::test_embedded_literal
self = 

    def setUp(self):
>       super(TestRawCommand, self).setUp()

tests/test_imapclient.py:946: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestRawCommand::test_failed_continuation_wait

test_imapclient.py::TestRawCommand::test_failed_continuation_wait
self = 

    def setUp(self):
>       super(TestRawCommand, self).setUp()

tests/test_imapclient.py:946: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestRawCommand::test_invalid_input_type

test_imapclient.py::TestRawCommand::test_invalid_input_type
self = 

    def setUp(self):
>       super(TestRawCommand, self).setUp()

tests/test_imapclient.py:946: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestRawCommand::test_literal_at_end

test_imapclient.py::TestRawCommand::test_literal_at_end
self = 

    def setUp(self):
>       super(TestRawCommand, self).setUp()

tests/test_imapclient.py:946: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestRawCommand::test_literal_plus

test_imapclient.py::TestRawCommand::test_literal_plus
self = 

    def setUp(self):
>       super(TestRawCommand, self).setUp()

tests/test_imapclient.py:946: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestRawCommand::test_literal_plus_multiple_literals

test_imapclient.py::TestRawCommand::test_literal_plus_multiple_literals
self = 

    def setUp(self):
>       super(TestRawCommand, self).setUp()

tests/test_imapclient.py:946: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestRawCommand::test_multiple_literals

test_imapclient.py::TestRawCommand::test_multiple_literals
self = 

    def setUp(self):
>       super(TestRawCommand, self).setUp()

tests/test_imapclient.py:946: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestRawCommand::test_not_uid

test_imapclient.py::TestRawCommand::test_not_uid
self = 

    def setUp(self):
>       super(TestRawCommand, self).setUp()

tests/test_imapclient.py:946: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestRawCommand::test_plain

test_imapclient.py::TestRawCommand::test_plain
self = 

    def setUp(self):
>       super(TestRawCommand, self).setUp()

tests/test_imapclient.py:946: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestExpunge::test_expunge

test_imapclient.py::TestExpunge::test_expunge
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestExpunge::test_id_expunge

test_imapclient.py::TestExpunge::test_id_expunge
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestShutdown::test_shutdown

test_imapclient.py::TestShutdown::test_shutdown
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestContextManager::test_context_manager

test_imapclient.py::TestContextManager::test_context_manager
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestContextManager::test_context_manager_fail_closing

test_imapclient.py::TestContextManager::test_context_manager_fail_closing
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestContextManager::test_exception_inside_context_manager

test_imapclient.py::TestContextManager::test_exception_inside_context_manager
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestProtocolError::test_tagged_response_with_parse_error

test_imapclient.py::TestProtocolError::test_tagged_response_with_parse_error
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_imapclient.py::TestSocket::test_issues_warning_for_deprecating_sock_property

test_imapclient.py::TestSocket::test_issues_warning_for_deprecating_sock_property
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_init.py::TestInit::test_SSL

test_init.py::TestInit::test_SSL
self = 

    def test_SSL(self):
        fakeIMAP4_TLS = Mock()
        self.tls.IMAP4_TLS.return_value = fakeIMAP4_TLS

>       imap = IMAPClient(
            "1.2.3.4", ssl_context=sentinel.context, timeout=sentinel.timeout
        )

tests/test_init.py:58: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:845: in create_connection
    raise err
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

address = ('1.2.3.4', 993), timeout = 
source_address = None

    def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT,
                          source_address=None):
        """Connect to *address* and return the socket object.

        Convenience function.  Connect to *address* (a 2-tuple ``(host,
        port)``) and return the socket object.  Passing the optional
        *timeout* parameter will set the timeout on the socket instance
        before attempting to connect.  If no *timeout* is supplied, the
        global default timeout setting returned by :func:`getdefaulttimeout`
        is used.  If *source_address* is set it must be a tuple of (host, port)
        for the socket to bind as a source address before making the connection.
        A host of '' or port 0 tells the OS to use the default.
        """

        host, port = address
        err = None
        for res in getaddrinfo(host, port, 0, SOCK_STREAM):
            af, socktype, proto, canonname, sa = res
            sock = None
            try:
                sock = socket(af, socktype, proto)
                if timeout is not _GLOBAL_DEFAULT_TIMEOUT:
                    sock.settimeout(timeout)
                if source_address:
                    sock.bind(source_address)
>               sock.connect(sa)
E               TimeoutError: [Errno 110] Connection timed out

/usr/lib/python3.10/socket.py:833: TimeoutError


test_init.py::TestInit::test_SSL_SocketTimeout

test_init.py::TestInit::test_SSL_SocketTimeout
self = 

    def test_SSL_SocketTimeout(self):
        fakeIMAP4_TLS = Mock()
        self.tls.IMAP4_TLS.return_value = fakeIMAP4_TLS

>       imap = IMAPClient(
            "1.2.3.4",
            ssl_context=sentinel.context,
            timeout=SocketTimeout(sentinel.connect_timeout, sentinel.timeout),
        )

tests/test_init.py:76: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:845: in create_connection
    raise err
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

address = ('1.2.3.4', 993), timeout = 
source_address = None

    def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT,
                          source_address=None):
        """Connect to *address* and return the socket object.

        Convenience function.  Connect to *address* (a 2-tuple ``(host,
        port)``) and return the socket object.  Passing the optional
        *timeout* parameter will set the timeout on the socket instance
        before attempting to connect.  If no *timeout* is supplied, the
        global default timeout setting returned by :func:`getdefaulttimeout`
        is used.  If *source_address* is set it must be a tuple of (host, port)
        for the socket to bind as a source address before making the connection.
        A host of '' or port 0 tells the OS to use the default.
        """

        host, port = address
        err = None
        for res in getaddrinfo(host, port, 0, SOCK_STREAM):
            af, socktype, proto, canonname, sa = res
            sock = None
            try:
                sock = socket(af, socktype, proto)
                if timeout is not _GLOBAL_DEFAULT_TIMEOUT:
                    sock.settimeout(timeout)
                if source_address:
                    sock.bind(source_address)
>               sock.connect(sa)
E               TimeoutError: [Errno 110] Connection timed out

/usr/lib/python3.10/socket.py:833: TimeoutError


test_init.py::TestInit::test_plain

test_init.py::TestInit::test_plain
self = 

    def test_plain(self):
        fakeIMAP4 = Mock()
        self.imap4.IMAP4WithTimeout.return_value = fakeIMAP4

>       imap = IMAPClient("1.2.3.4", ssl=False, timeout=sentinel.timeout)

tests/test_init.py:29: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:243: in _create_IMAP4
    return self.imap4.IMAP4WithTimeout(self.host, self.port, self._timeout.connect)
imapclient/imap4.py:11: in __init__
    imaplib.IMAP4.__init__(self, address, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:845: in create_connection
    raise err
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

address = ('1.2.3.4', 143), timeout = 
source_address = None

    def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT,
                          source_address=None):
        """Connect to *address* and return the socket object.

        Convenience function.  Connect to *address* (a 2-tuple ``(host,
        port)``) and return the socket object.  Passing the optional
        *timeout* parameter will set the timeout on the socket instance
        before attempting to connect.  If no *timeout* is supplied, the
        global default timeout setting returned by :func:`getdefaulttimeout`
        is used.  If *source_address* is set it must be a tuple of (host, port)
        for the socket to bind as a source address before making the connection.
        A host of '' or port 0 tells the OS to use the default.
        """

        host, port = address
        err = None
        for res in getaddrinfo(host, port, 0, SOCK_STREAM):
            af, socktype, proto, canonname, sa = res
            sock = None
            try:
                sock = socket(af, socktype, proto)
                if timeout is not _GLOBAL_DEFAULT_TIMEOUT:
                    sock.settimeout(timeout)
                if source_address:
                    sock.bind(source_address)
>               sock.connect(sa)
E               TimeoutError: [Errno 110] Connection timed out

/usr/lib/python3.10/socket.py:833: TimeoutError


test_init.py::TestInit::test_plain_SocketTimeout

test_init.py::TestInit::test_plain_SocketTimeout
self = 

    def test_plain_SocketTimeout(self):
        fakeIMAP4 = Mock()
        self.imap4.IMAP4WithTimeout.return_value = fakeIMAP4

>       imap = IMAPClient(
            "1.2.3.4",
            ssl=False,
            timeout=SocketTimeout(sentinel.connect_timeout, sentinel.timeout),
        )

tests/test_init.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:243: in _create_IMAP4
    return self.imap4.IMAP4WithTimeout(self.host, self.port, self._timeout.connect)
imapclient/imap4.py:11: in __init__
    imaplib.IMAP4.__init__(self, address, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:845: in create_connection
    raise err
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

address = ('1.2.3.4', 143), timeout = 
source_address = None

    def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT,
                          source_address=None):
        """Connect to *address* and return the socket object.

        Convenience function.  Connect to *address* (a 2-tuple ``(host,
        port)``) and return the socket object.  Passing the optional
        *timeout* parameter will set the timeout on the socket instance
        before attempting to connect.  If no *timeout* is supplied, the
        global default timeout setting returned by :func:`getdefaulttimeout`
        is used.  If *source_address* is set it must be a tuple of (host, port)
        for the socket to bind as a source address before making the connection.
        A host of '' or port 0 tells the OS to use the default.
        """

        host, port = address
        err = None
        for res in getaddrinfo(host, port, 0, SOCK_STREAM):
            af, socktype, proto, canonname, sa = res
            sock = None
            try:
                sock = socket(af, socktype, proto)
                if timeout is not _GLOBAL_DEFAULT_TIMEOUT:
                    sock.settimeout(timeout)
                if source_address:
                    sock.bind(source_address)
>               sock.connect(sa)
E               TimeoutError: [Errno 110] Connection timed out

/usr/lib/python3.10/socket.py:833: TimeoutError


test_init.py::TestInit::test_stream

test_init.py::TestInit::test_stream
self = 

    def test_stream(self):
        fakeIMAP4_stream = Mock()
        self.imaplib.IMAP4_stream.return_value = fakeIMAP4_stream

>       imap = IMAPClient("command", stream=True, ssl=False)

tests/test_init.py:91: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:239: in _create_IMAP4
    return self.imaplib.IMAP4_stream(self.host)
/usr/lib/python3.10/imaplib.py:1355: in __init__
    IMAP4.__init__(self)
/usr/lib/python3.10/imaplib.py:205: in __init__
    self._connect()
/usr/lib/python3.10/imaplib.py:247: in _connect
    self.welcome = self._get_response()
/usr/lib/python3.10/imaplib.py:1075: in _get_response
    resp = self._get_line()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def _get_line(self):

        line = self.readline()
        if not line:
>           raise self.abort('socket error: EOF')
E           imaplib.IMAP4.abort: socket error: EOF

/usr/lib/python3.10/imaplib.py:1185: abort

test_response_lexer.py::TestTokenSource::test_escaping

test_response_lexer.py::TestTokenSource::test_escaping
self = 

    def test_escaping(self):
>       self.check([rb'"aaa\"bbb"'], [rb'"aaa"bbb"'])

tests/test_response_lexer.py:35: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_response_lexer.py:91: in check
    self.assertSequenceEqual(list(tokens), expected_out)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def __iter__(self) ->Iterator[bytes]:
        for source in self.sources:
            self.current_source = source
>           for tok in self.read_token_stream(iter(source)):
E           AttributeError: 'Lexer' object has no attribute 'read_token_stream'

imapclient/response_lexer.py:47: AttributeError

test_response_lexer.py::TestTokenSource::test_invalid_escape

test_response_lexer.py::TestTokenSource::test_invalid_escape
self = 

    def test_invalid_escape(self):
>       self.check([rb'"aaa\Zbbb"'], [rb'"aaa\Zbbb"'])

tests/test_response_lexer.py:40: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_response_lexer.py:91: in check
    self.assertSequenceEqual(list(tokens), expected_out)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def __iter__(self) ->Iterator[bytes]:
        for source in self.sources:
            self.current_source = source
>           for tok in self.read_token_stream(iter(source)):
E           AttributeError: 'Lexer' object has no attribute 'read_token_stream'

imapclient/response_lexer.py:47: AttributeError

test_response_lexer.py::TestTokenSource::test_lists

test_response_lexer.py::TestTokenSource::test_lists
self = 

    def test_lists(self):
>       self.check([b"()"], [b"(", b")"])

tests/test_response_lexer.py:43: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_response_lexer.py:91: in check
    self.assertSequenceEqual(list(tokens), expected_out)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def __iter__(self) ->Iterator[bytes]:
        for source in self.sources:
            self.current_source = source
>           for tok in self.read_token_stream(iter(source)):
E           AttributeError: 'Lexer' object has no attribute 'read_token_stream'

imapclient/response_lexer.py:47: AttributeError

test_response_lexer.py::TestTokenSource::test_literal

test_response_lexer.py::TestTokenSource::test_literal
self = 

    def test_literal(self):
        source = TokenSource([(b"abc {7}", b"foo bar"), b")"])
        tokens = iter(source)
>       self.assertEqual(next(tokens), b"abc")

tests/test_response_lexer.py:72: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def __iter__(self) ->Iterator[bytes]:
        for source in self.sources:
            self.current_source = source
>           for tok in self.read_token_stream(iter(source)):
E           AttributeError: 'Lexer' object has no attribute 'read_token_stream'

imapclient/response_lexer.py:47: AttributeError

test_response_lexer.py::TestTokenSource::test_literals

test_response_lexer.py::TestTokenSource::test_literals
self = 

    def test_literals(self):
        source = TokenSource([(b"abc {7}", b"foo bar"), (b"{5}", b"snafu"), b")"])
        tokens = iter(source)
>       self.assertEqual(next(tokens), b"abc")

tests/test_response_lexer.py:81: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def __iter__(self) ->Iterator[bytes]:
        for source in self.sources:
            self.current_source = source
>           for tok in self.read_token_stream(iter(source)):
E           AttributeError: 'Lexer' object has no attribute 'read_token_stream'

imapclient/response_lexer.py:47: AttributeError

test_response_lexer.py::TestTokenSource::test_multiple_inputs

test_response_lexer.py::TestTokenSource::test_multiple_inputs
self = 

    def test_multiple_inputs(self):
>       self.check([b"abc 111", b"def 222"], [b"abc", b"111", b"def", b"222"])

tests/test_response_lexer.py:18: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_response_lexer.py:91: in check
    self.assertSequenceEqual(list(tokens), expected_out)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def __iter__(self) ->Iterator[bytes]:
        for source in self.sources:
            self.current_source = source
>           for tok in self.read_token_stream(iter(source)):
E           AttributeError: 'Lexer' object has no attribute 'read_token_stream'

imapclient/response_lexer.py:47: AttributeError

test_response_lexer.py::TestTokenSource::test_no_escaping_in_square_brackets

test_response_lexer.py::TestTokenSource::test_no_escaping_in_square_brackets
self = 

    def test_no_escaping_in_square_brackets(self):
>       self.check([rb"[aaa\\bbb]"], [rb"[aaa\\bbb]"])

tests/test_response_lexer.py:62: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_response_lexer.py:91: in check
    self.assertSequenceEqual(list(tokens), expected_out)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def __iter__(self) ->Iterator[bytes]:
        for source in self.sources:
            self.current_source = source
>           for tok in self.read_token_stream(iter(source)):
E           AttributeError: 'Lexer' object has no attribute 'read_token_stream'

imapclient/response_lexer.py:47: AttributeError

test_response_lexer.py::TestTokenSource::test_one_token

test_response_lexer.py::TestTokenSource::test_one_token
self = 

    def test_one_token(self):
>       self.check([b"abc"], [b"abc"])

tests/test_response_lexer.py:12: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_response_lexer.py:91: in check
    self.assertSequenceEqual(list(tokens), expected_out)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def __iter__(self) ->Iterator[bytes]:
        for source in self.sources:
            self.current_source = source
>           for tok in self.read_token_stream(iter(source)):
E           AttributeError: 'Lexer' object has no attribute 'read_token_stream'

imapclient/response_lexer.py:47: AttributeError

test_response_lexer.py::TestTokenSource::test_quoted_strings

test_response_lexer.py::TestTokenSource::test_quoted_strings
self = 

    def test_quoted_strings(self):
>       self.check([b'"abc def"'], [b'"abc def"'])

tests/test_response_lexer.py:25: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_response_lexer.py:91: in check
    self.assertSequenceEqual(list(tokens), expected_out)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def __iter__(self) ->Iterator[bytes]:
        for source in self.sources:
            self.current_source = source
>           for tok in self.read_token_stream(iter(source)):
E           AttributeError: 'Lexer' object has no attribute 'read_token_stream'

imapclient/response_lexer.py:47: AttributeError

test_response_lexer.py::TestTokenSource::test_simple_tokens

test_response_lexer.py::TestTokenSource::test_simple_tokens
self = 

    def test_simple_tokens(self):
>       self.check([b"abc 111 def"], [b"abc", b"111", b"def"])

tests/test_response_lexer.py:15: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_response_lexer.py:91: in check
    self.assertSequenceEqual(list(tokens), expected_out)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def __iter__(self) ->Iterator[bytes]:
        for source in self.sources:
            self.current_source = source
>           for tok in self.read_token_stream(iter(source)):
E           AttributeError: 'Lexer' object has no attribute 'read_token_stream'

imapclient/response_lexer.py:47: AttributeError

test_response_lexer.py::TestTokenSource::test_square_brackets

test_response_lexer.py::TestTokenSource::test_square_brackets
self = 

    def test_square_brackets(self):
>       self.check([b"[aaa bbb]"], [b"[aaa bbb]"])

tests/test_response_lexer.py:56: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_response_lexer.py:91: in check
    self.assertSequenceEqual(list(tokens), expected_out)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def __iter__(self) ->Iterator[bytes]:
        for source in self.sources:
            self.current_source = source
>           for tok in self.read_token_stream(iter(source)):
E           AttributeError: 'Lexer' object has no attribute 'read_token_stream'

imapclient/response_lexer.py:47: AttributeError

test_response_lexer.py::TestTokenSource::test_unmatched_square_brackets

test_response_lexer.py::TestTokenSource::test_unmatched_square_brackets
self = 

    def test_unmatched_square_brackets(self):
        message = "No closing ']'"
>       self.check_error([b"["], message)

tests/test_response_lexer.py:66: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_response_lexer.py:94: in check_error
    self.assertRaisesRegex(
tests/test_response_lexer.py:95: in 
    ValueError, expected_message, lambda: list(TokenSource(text_in))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    def __iter__(self) ->Iterator[bytes]:
        for source in self.sources:
            self.current_source = source
>           for tok in self.read_token_stream(iter(source)):
E           AttributeError: 'Lexer' object has no attribute 'read_token_stream'

imapclient/response_lexer.py:47: AttributeError

test_response_lexer.py::TestTokenSource::test_unterminated_strings

test_response_lexer.py::TestTokenSource::test_unterminated_strings
self = 

    def test_unterminated_strings(self):
        message = "No closing '\"'"
>       self.check_error([b'"'], message)

tests/test_response_lexer.py:31: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_response_lexer.py:94: in check_error
    self.assertRaisesRegex(
tests/test_response_lexer.py:95: in 
    ValueError, expected_message, lambda: list(TokenSource(text_in))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

    def __iter__(self) ->Iterator[bytes]:
        for source in self.sources:
            self.current_source = source
>           for tok in self.read_token_stream(iter(source)):
E           AttributeError: 'Lexer' object has no attribute 'read_token_stream'

imapclient/response_lexer.py:47: AttributeError

test_response_lexer.py::TestTokenSource::test_whitespace

test_response_lexer.py::TestTokenSource::test_whitespace
self = 

    def test_whitespace(self):
>       self.check([b"abc   def"], [b"abc", b"def"])

tests/test_response_lexer.py:21: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_response_lexer.py:91: in check
    self.assertSequenceEqual(list(tokens), expected_out)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = 

    def __iter__(self) ->Iterator[bytes]:
        for source in self.sources:
            self.current_source = source
>           for tok in self.read_token_stream(iter(source)):
E           AttributeError: 'Lexer' object has no attribute 'read_token_stream'

imapclient/response_lexer.py:47: AttributeError

test_search.py::TestSearch::test_bytes_criteria

test_search.py::TestSearch::test_bytes_criteria
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_bytes_criteria_with_charset

test_search.py::TestSearch::test_bytes_criteria_with_charset
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_modseq

test_search.py::TestSearch::test_modseq
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_nested

test_search.py::TestSearch::test_nested
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_nested_empty

test_search.py::TestSearch::test_nested_empty
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_nested_multiple

test_search.py::TestSearch::test_nested_multiple
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_nested_tuple

test_search.py::TestSearch::test_nested_tuple
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_no_results

test_search.py::TestSearch::test_no_results
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_quoting

test_search.py::TestSearch::test_quoting
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_search_custom_exception_with_invalid_list

test_search.py::TestSearch::test_search_custom_exception_with_invalid_list
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_search_custom_exception_with_invalid_text

test_search.py::TestSearch::test_search_custom_exception_with_invalid_text
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_single

test_search.py::TestSearch::test_single
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_unicode_criteria

test_search.py::TestSearch::test_unicode_criteria
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_unicode_criteria_with_charset

test_search.py::TestSearch::test_unicode_criteria_with_charset
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_with_date

test_search.py::TestSearch::test_with_date
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_with_datetime

test_search.py::TestSearch::test_with_datetime
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestSearch::test_zero_length_quoting

test_search.py::TestSearch::test_zero_length_quoting
self = 

    def setUp(self):
>       super(TestSearchBase, self).setUp()

tests/test_search.py:17: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestGmailSearch::test_bytes_query

test_search.py::TestGmailSearch::test_bytes_query
self = 

    def setUp(self):
>       super(TestGmailSearch, self).setUp()

tests/test_search.py:144: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_search.py:17: in setUp
    super(TestSearchBase, self).setUp()
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestGmailSearch::test_bytes_query_with_charset

test_search.py::TestGmailSearch::test_bytes_query_with_charset
self = 

    def setUp(self):
>       super(TestGmailSearch, self).setUp()

tests/test_search.py:144: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_search.py:17: in setUp
    super(TestSearchBase, self).setUp()
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_search.py::TestGmailSearch::test_unicode_criteria_with_charset

test_search.py::TestGmailSearch::test_unicode_criteria_with_charset
self = 

    def setUp(self):
>       super(TestGmailSearch, self).setUp()

tests/test_search.py:144: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/test_search.py:17: in setUp
    super(TestSearchBase, self).setUp()
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_sort.py::TestSort::test_all_args

test_sort.py::TestSort::test_all_args
self = 

    def setUp(self):
>       super(TestSort, self).setUp()

tests/test_sort.py:14: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_sort.py::TestSort::test_multiple_criteria

test_sort.py::TestSort::test_multiple_criteria
self = 

    def setUp(self):
>       super(TestSort, self).setUp()

tests/test_sort.py:14: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_sort.py::TestSort::test_no_support

test_sort.py::TestSort::test_no_support
self = 

    def setUp(self):
>       super(TestSort, self).setUp()

tests/test_sort.py:14: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_sort.py::TestSort::test_single_criteria

test_sort.py::TestSort::test_single_criteria
self = 

    def setUp(self):
>       super(TestSort, self).setUp()

tests/test_sort.py:14: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_starttls.py::TestStarttls::test_command_fails

test_starttls.py::TestStarttls::test_command_fails
self = 

    def setUp(self):
>       super(TestStarttls, self).setUp()

tests/test_starttls.py:15: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_starttls.py::TestStarttls::test_fails_if_called_twice

test_starttls.py::TestStarttls::test_fails_if_called_twice
self = 

    def setUp(self):
>       super(TestStarttls, self).setUp()

tests/test_starttls.py:15: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_starttls.py::TestStarttls::test_fails_if_ssl_true

test_starttls.py::TestStarttls::test_fails_if_ssl_true
self = 

    def setUp(self):
>       super(TestStarttls, self).setUp()

tests/test_starttls.py:15: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_starttls.py::TestStarttls::test_works

test_starttls.py::TestStarttls::test_works
self = 

    def setUp(self):
>       super(TestStarttls, self).setUp()

tests/test_starttls.py:15: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_store.py::TestFlagsConsts::test_flags_are_bytes

test_store.py::TestFlagsConsts::test_flags_are_bytes
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_store.py::TestFlags::test_add

test_store.py::TestFlags::test_add
self = 

    def setUp(self):
>       super(TestFlags, self).setUp()

tests/test_store.py:22: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_store.py::TestFlags::test_get

test_store.py::TestFlags::test_get
self = 

    def setUp(self):
>       super(TestFlags, self).setUp()

tests/test_store.py:22: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_store.py::TestFlags::test_remove

test_store.py::TestFlags::test_remove
self = 

    def setUp(self):
>       super(TestFlags, self).setUp()

tests/test_store.py:22: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_store.py::TestFlags::test_set

test_store.py::TestFlags::test_set
self = 

    def setUp(self):
>       super(TestFlags, self).setUp()

tests/test_store.py:22: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_store.py::TestGmailLabels::test_add

test_store.py::TestGmailLabels::test_add
self = 

    def setUp(self):
>       super(TestGmailLabels, self).setUp()

tests/test_store.py:78: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_store.py::TestGmailLabels::test_get

test_store.py::TestGmailLabels::test_get
self = 

    def setUp(self):
>       super(TestGmailLabels, self).setUp()

tests/test_store.py:78: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_store.py::TestGmailLabels::test_remove

test_store.py::TestGmailLabels::test_remove
self = 

    def setUp(self):
>       super(TestGmailLabels, self).setUp()

tests/test_store.py:78: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_store.py::TestGmailLabels::test_set

test_store.py::TestGmailLabels::test_set
self = 

    def setUp(self):
>       super(TestGmailLabels, self).setUp()

tests/test_store.py:78: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_thread.py::TestThread::test_all_args

test_thread.py::TestThread::test_all_args
self = 

    def setUp(self):
>       super(TestThread, self).setUp()

tests/test_thread.py:14: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_thread.py::TestThread::test_defaults

test_thread.py::TestThread::test_defaults
self = 

    def setUp(self):
>       super(TestThread, self).setUp()

tests/test_thread.py:14: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_thread.py::TestThread::test_no_thread_support

test_thread.py::TestThread::test_no_thread_support
self = 

    def setUp(self):
>       super(TestThread, self).setUp()

tests/test_thread.py:14: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_thread.py::TestThread::test_unsupported_algorithm

test_thread.py::TestThread::test_unsupported_algorithm
self = 

    def setUp(self):
>       super(TestThread, self).setUp()

tests/test_thread.py:14: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
tests/imapclient_test.py:8: in setUp
    self.client = IMAPClient()
imapclient/testable_imapclient.py:16: in __init__
    super().__init__('somehost')
imapclient/imapclient.py:228: in __init__
    self._imap = self._create_IMAP4()
imapclient/imapclient.py:241: in _create_IMAP4
    return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
imapclient/tls.py:24: in __init__
    imaplib.IMAP4.__init__(self, host, port)
/usr/lib/python3.10/imaplib.py:202: in __init__
    self.open(host, port, timeout)
/usr/lib/python3.10/imaplib.py:312: in open
    self.sock = self._create_socket(timeout)
/usr/lib/python3.10/imaplib.py:302: in _create_socket
    return socket.create_connection(address)
/usr/lib/python3.10/socket.py:824: in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

host = 'somehost', port = 993, family = 0, type = 
proto = 0, flags = 0

    def getaddrinfo(host, port, family=0, type=0, proto=0, flags=0):
        """Resolve host and port into list of address info entries.

        Translate the host/port argument into a sequence of 5-tuples that contain
        all the necessary arguments for creating a socket connected to that service.
        host is a domain name, a string representation of an IPv4/v6 address or
        None. port is a string service name such as 'http', a numeric port number or
        None. By passing None as the value of host and port, you can pass NULL to
        the underlying C API.

        The family, type and proto arguments can be optionally specified in order to
        narrow the list of addresses returned. Passing zero as a value for each of
        these arguments selects the full range of results.
        """
        # We override this function since we want to translate the numeric family
        # and socket type values to enum constants.
        addrlist = []
>       for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
E       socket.gaierror: [Errno -2] Name or service not known

/usr/lib/python3.10/socket.py:955: gaierror

test_version.py::TestVersionString::test_alpha

test_version.py::TestVersionString::test_alpha
self = 

    def test_alpha(self):
>       self.assertEqual(_imapclient_version_string((2, 1, 0, "alpha")), "2.1.0-alpha")
E       AssertionError: '2.1.0.alpha' != '2.1.0-alpha'
E       - 2.1.0.alpha
E       ?      ^
E       + 2.1.0-alpha
E       ?      ^

tests/test_version.py:21: AssertionError

test_version.py::TestVersionString::test_beta_point

test_version.py::TestVersionString::test_beta_point
self = 

    def test_beta_point(self):
>       self.assertEqual(_imapclient_version_string((2, 1, 3, "beta")), "2.1.3-beta")
E       AssertionError: '2.1.3.beta' != '2.1.3-beta'
E       - 2.1.3.beta
E       ?      ^
E       + 2.1.3-beta
E       ?      ^

tests/test_version.py:24: AssertionError

test_version.py::TestVersionString::test_dot_oh

test_version.py::TestVersionString::test_dot_oh
self = 

    def test_dot_oh(self):
>       self.assertEqual(_imapclient_version_string((1, 0, 0, "final")), "1.0.0")
E       AssertionError: '1.0.0.final' != '1.0.0'
E       - 1.0.0.final
E       + 1.0.0

tests/test_version.py:12: AssertionError

test_version.py::TestVersionString::test_minor

test_version.py::TestVersionString::test_minor
self = 

    def test_minor(self):
>       self.assertEqual(_imapclient_version_string((2, 1, 0, "final")), "2.1.0")
E       AssertionError: '2.1.0.final' != '2.1.0'
E       - 2.1.0.final
E       + 2.1.0

tests/test_version.py:15: AssertionError

test_version.py::TestVersionString::test_point_release

test_version.py::TestVersionString::test_point_release
self = 

    def test_point_release(self):
>       self.assertEqual(_imapclient_version_string((1, 2, 3, "final")), "1.2.3")
E       AssertionError: '1.2.3.final' != '1.2.3'
E       - 1.2.3.final
E       + 1.2.3

tests/test_version.py:18: AssertionError

Patch diff

diff --git a/imapclient/__init__.py b/imapclient/__init__.py
index ce7cb64..282efdb 100644
--- a/imapclient/__init__.py
+++ b/imapclient/__init__.py
@@ -5,7 +5,7 @@
 # version_info provides the version number in programmer friendly way.
 # The 4th part will be either alpha, beta or final.

-from .imapclient import *  # noqa: F401,F403
+from .imapclient import IMAPClient  # noqa: F401
 from .response_parser import *  # noqa: F401,F403
 from .tls import *  # noqa: F401,F403
 from .version import author as __author__  # noqa: F401
diff --git a/imapclient/config.py b/imapclient/config.py
index f098591..e083f43 100644
--- a/imapclient/config.py
+++ b/imapclient/config.py
@@ -14,7 +14,27 @@ def parse_config_file(filename: str) ->argparse.Namespace:

     Used by livetest.py and interact.py
     """
-    pass
+    config = configparser.ConfigParser()
+    config.read(filename)
+
+    if 'DEFAULT' not in config:
+        raise ValueError(f"Config file {filename} must have a DEFAULT section")
+
+    ns = argparse.Namespace()
+    ns.host = config['DEFAULT'].get('host', 'imap.gmail.com')
+    ns.port = config['DEFAULT'].getint('port', 993)
+    ns.ssl = config['DEFAULT'].getboolean('ssl', True)
+    ns.username = config['DEFAULT'].get('username')
+    ns.password = config['DEFAULT'].get('password')
+    ns.oauth2 = config['DEFAULT'].getboolean('oauth2', False)
+    ns.oauth2_client_id = config['DEFAULT'].get('oauth2_client_id')
+    ns.oauth2_client_secret = config['DEFAULT'].get('oauth2_client_secret')
+    ns.oauth2_refresh_token = config['DEFAULT'].get('oauth2_refresh_token')
+
+    if ns.oauth2 and (not ns.oauth2_client_id or not ns.oauth2_client_secret or not ns.oauth2_refresh_token):
+        raise ValueError("oauth2_client_id, oauth2_client_secret, and oauth2_refresh_token must be provided when oauth2 is True")
+
+    return ns


 T = TypeVar('T')
diff --git a/imapclient/datetime_util.py b/imapclient/datetime_util.py
index 57a44c4..468e80e 100644
--- a/imapclient/datetime_util.py
+++ b/imapclient/datetime_util.py
@@ -14,7 +14,19 @@ def parse_to_datetime(timestamp: bytes, normalise: bool=True) ->datetime:
     If normalise is False, then the returned datetime will be
     unadjusted but will contain timezone information as per the input.
     """
-    pass
+    if isinstance(timestamp, bytes):
+        timestamp = timestamp.decode('ascii')
+    
+    time_tuple = parsedate_tz(timestamp)
+    if time_tuple is None:
+        raise ValueError("Invalid timestamp format")
+    
+    tz_offset = time_tuple[-1]
+    dt = datetime(*time_tuple[:6], tzinfo=FixedOffset(tz_offset) if tz_offset else None)
+    
+    if normalise:
+        return dt.astimezone().replace(tzinfo=None)
+    return dt


 def datetime_to_INTERNALDATE(dt: datetime) ->str:
@@ -23,7 +35,10 @@ def datetime_to_INTERNALDATE(dt: datetime) ->str:
     If timezone information is missing the current system
     timezone is used.
     """
-    pass
+    if dt.tzinfo is None:
+        dt = dt.astimezone()
+    
+    return dt.strftime("%d-%b-%Y %H:%M:%S %z").strip()


 _rfc822_dotted_time = re.compile(
@@ -32,4 +47,9 @@ _rfc822_dotted_time = re.compile(

 def format_criteria_date(dt: datetime) ->bytes:
     """Format a date or datetime instance for use in IMAP search criteria."""
-    pass
+    if isinstance(dt, datetime):
+        dt_str = dt.strftime("%d-%b-%Y")
+    else:
+        dt_str = dt.strftime("%d-%b-%Y")
+    
+    return dt_str.encode('ascii')
diff --git a/imapclient/fixed_offset.py b/imapclient/fixed_offset.py
index b9e7df9..94b649a 100644
--- a/imapclient/fixed_offset.py
+++ b/imapclient/fixed_offset.py
@@ -10,17 +10,32 @@ class FixedOffset(datetime.tzinfo):
     east from UTC
     """

-    def __init__(self, minutes: float) ->None:
-        self.__offset = datetime.timedelta(minutes=minutes)
-        sign = '+'
-        if minutes < 0:
-            sign = '-'
-        hours, remaining_mins = divmod(abs(minutes), 60)
-        self.__name = '%s%02d%02d' % (sign, hours, remaining_mins)
+    def __init__(self, offset_minutes: float) -> None:
+        self._offset = datetime.timedelta(minutes=offset_minutes)
+        self._name = self._format_offset(offset_minutes)
+
+    def utcoffset(self, dt: Optional[datetime.datetime]) -> datetime.timedelta:
+        return self._offset
+
+    def tzname(self, dt: Optional[datetime.datetime]) -> str:
+        return self._name
+
+    def dst(self, dt: Optional[datetime.datetime]) -> datetime.timedelta:
+        return ZERO
+
+    @staticmethod
+    def _format_offset(offset_minutes: float) -> str:
+        sign = "+" if offset_minutes >= 0 else "-"
+        hours, minutes = divmod(abs(int(offset_minutes)), 60)
+        return f"{sign}{hours:02d}{minutes:02d}"

     @classmethod
-    def for_system(cls) ->'FixedOffset':
+    def for_system(cls) -> 'FixedOffset':
         """Return a FixedOffset instance for the current working timezone and
         DST conditions.
         """
-        pass
+        if time.daylight:
+            offset = -time.altzone if time.localtime().tm_isdst else -time.timezone
+        else:
+            offset = -time.timezone
+        return cls(offset // 60)
diff --git a/imapclient/imap_utf7.py b/imapclient/imap_utf7.py
index 7a795b2..c806338 100644
--- a/imapclient/imap_utf7.py
+++ b/imapclient/imap_utf7.py
@@ -1,3 +1,4 @@
+import base64
 import binascii
 from typing import List, Union

@@ -8,7 +9,27 @@ def encode(s: Union[str, bytes]) ->bytes:
     Input is unicode; output is bytes (Python 3) or str (Python 2). If
     non-unicode input is provided, the input is returned unchanged.
     """
-    pass
+    if isinstance(s, bytes):
+        return s
+    if not isinstance(s, str):
+        raise ValueError("Input must be str or bytes")
+    
+    result = bytearray()
+    utf7_buffer = bytearray()
+    
+    for char in s:
+        if ord(char) in range(0x20, 0x7f) and char != '&':
+            if utf7_buffer:
+                result.extend(b'&' + base64.b64encode(utf7_buffer).rstrip(b'=').replace(b'/', b',') + b'-')
+                utf7_buffer = bytearray()
+            result.extend(char.encode('ascii'))
+        else:
+            utf7_buffer.extend(char.encode('utf-16be'))
+    
+    if utf7_buffer:
+        result.extend(b'&' + base64.b64encode(utf7_buffer).rstrip(b'=').replace(b'/', b',') + b'-')
+    
+    return bytes(result)


 AMPERSAND_ORD = ord('&')
@@ -22,4 +43,32 @@ def decode(s: Union[bytes, str]) ->str:
     unicode. If non-bytes/str input is provided, the input is returned
     unchanged.
     """
-    pass
+    if isinstance(s, str):
+        s = s.encode('ascii')
+    if not isinstance(s, bytes):
+        raise ValueError("Input must be str or bytes")
+    
+    result = []
+    utf7_buffer = bytearray()
+    is_utf7 = False
+    
+    for byte in s:
+        if is_utf7:
+            if byte == DASH_ORD:
+                if utf7_buffer:
+                    padded = utf7_buffer + b'=' * ((4 - len(utf7_buffer) % 4) % 4)
+                    decoded = base64.b64decode(padded.replace(b',', b'/'))
+                    result.append(decoded.decode('utf-16be'))
+                    utf7_buffer = bytearray()
+                is_utf7 = False
+            elif byte == AMPERSAND_ORD:
+                utf7_buffer.append(byte)
+                result.append('&')
+            else:
+                utf7_buffer.append(byte)
+        elif byte == AMPERSAND_ORD:
+            is_utf7 = True
+        else:
+            result.append(chr(byte))
+    
+    return ''.join(result)
diff --git a/imapclient/imapclient.py b/imapclient/imapclient.py
index 1b399f1..5a51a7f 100644
--- a/imapclient/imapclient.py
+++ b/imapclient/imapclient.py
@@ -12,6 +12,8 @@ from datetime import date, datetime
 from logging import getLogger, LoggerAdapter
 from operator import itemgetter
 from typing import List, Optional
+from .util import require_capability, assert_imap_protocol
+from functools import wraps
 from . import exceptions, imap4, response_lexer, tls
 from .datetime_util import datetime_to_INTERNALDATE, format_criteria_date
 from .imap_utf7 import decode as decode_utf7
@@ -113,9 +115,28 @@ class Quota:
     limit: bytes


+def _parse_quota(quota_response):
+    """Parse the QUOTA response from the server."""
+    quotas = []
+    for quota_root, quota_items in quota_response:
+        quota_root = quota_root.decode()
+        for resource, usage, limit in zip(quota_items[::3], quota_items[1::3], quota_items[2::3]):
+            quotas.append(Quota(quota_root, resource.decode(), usage, limit))
+    return quotas
+
+
 def require_capability(capability):
     """Decorator raising CapabilityError when a capability is not available."""
-    pass
+    def decorator(func):
+        @wraps(func)
+        def wrapper(self, *args, **kwargs):
+            if not self.has_capability(capability):
+                raise CapabilityError(
+                    "{} requires {} capability".format(func.__name__, capability)
+                )
+            return func(self, *args, **kwargs)
+        return wrapper
+    return decorator


 class IMAPClient:
@@ -166,8 +187,12 @@ class IMAPClient:

     >>> with IMAPClient(host="imap.foo.org") as client:
     ...     client.login("bar@foo.org", "passwd")
-
     """
+
+    imaplib = imaplib
+    tls = tls
+    imap4 = imap4
+
     Error = exceptions.IMAPClientError
     AbortError = exceptions.IMAPClientAbortError
     ReadOnlyError = exceptions.IMAPClientReadOnlyError
@@ -209,6 +234,14 @@ class IMAPClient:
         self._imap.debug = 5
         self._imap._mesg = imaplib_logger.debug

+    def _create_IMAP4(self):
+        if self.stream:
+            return self.imaplib.IMAP4_stream(self.host)
+        elif self.ssl:
+            return self.tls.IMAP4_TLS(self.host, self.port, self.ssl_context, self._timeout.connect)
+        else:
+            return self.imap4.IMAP4WithTimeout(self.host, self.port, self._timeout.connect)
+
     def __enter__(self):
         return self

@@ -218,6 +251,24 @@ class IMAPClient:
         All exceptions during logout and connection shutdown are caught because
         an error here usually means the connection was already closed.
         """
+        try:
+            self.logout()
+        except Exception:
+            pass
+        finally:
+            try:
+                self.shutdown()
+            except Exception:
+                pass
+        try:
+            self.logout()
+        except Exception:
+            pass
+        finally:
+            try:
+                self.shutdown()
+            except Exception:
+                pass
         try:
             self.logout()
         except Exception:
@@ -239,7 +290,7 @@ class IMAPClient:
            This includes reading from and writing to the socket,
            as they are likely to break internal bookkeeping of messages.
         """
-        pass
+        return self._imap.sock

     @require_capability('STARTTLS')
     def starttls(self, ssl_context=None):
@@ -259,13 +310,37 @@ class IMAPClient:
         Raises :py:exc:`AbortError` if the server does not support STARTTLS
         or an SSL connection is already established.
         """
-        pass
+        if self.ssl:
+            raise self.AbortError('SSL connection already established')
+
+        if ssl_context is None:
+            ssl_context = ssl_lib.create_default_context()
+
+        typ, data = self._imap._simple_command('STARTTLS')
+        if typ != 'OK':
+            raise self.Error('STARTTLS failed: %s' % data[0].decode())
+
+        self._imap.sock = ssl_context.wrap_socket(self._imap.sock,
+                                                  server_hostname=self.host)
+        self._imap.file = self._imap.sock.makefile('rb')
+        self.ssl = True
+        self._starttls_done = True
+
+        # Reissue CAPABILITY command after STARTTLS
+        self._cached_capabilities = None
+        self.capabilities()

     def login(self, username: str, password: str):
         """Login using *username* and *password*, returning the
         server response.
         """
-        pass
+        try:
+            rv = self._imap.login(username, password)
+        except imaplib.IMAP4.error as e:
+            raise self.Error(str(e))
+
+        self._cached_capabilities = None
+        return rv

     def oauth2_login(self, user: str, access_token: str, mech: str=
         'XOAUTH2', vendor: Optional[str]=None):
@@ -274,7 +349,21 @@ class IMAPClient:
         Gmail and Yahoo both support the 'XOAUTH2' mechanism, but Yahoo requires
         the 'vendor' portion in the payload.
         """
-        pass
+        auth_string = 'user=%s\1auth=Bearer %s\1' % (user, access_token)
+        if vendor:
+            auth_string += 'vendor=%s\1' % vendor
+        auth_string += '\1'
+        
+        try:
+            if mech == 'XOAUTH2':
+                rv = self._imap.authenticate('XOAUTH2', lambda x: auth_string)
+            else:
+                rv = self._imap.authenticate('OAUTH2', lambda x: auth_string)
+        except imaplib.IMAP4.error as e:
+            raise self.Error(str(e))
+
+        self._cached_capabilities = None
+        return rv

     def oauthbearer_login(self, identity, access_token):
         """Authenticate using the OAUTHBEARER method.
@@ -1157,7 +1246,9 @@ class _dict_bytes_normaliser:

     def __init__(self, d):
         self._d = d
-    items = iteritems
+
+    def items(self):
+        return self._d.items()

     def __contains__(self, ink):
         for k in self._gen_keys(ink):
@@ -1168,3 +1259,24 @@ class _dict_bytes_normaliser:

 class IMAPlibLoggerAdapter(LoggerAdapter):
     """Adapter preventing IMAP secrets from going to the logging facility."""
+
+class TestableIMAPClient(IMAPClient):
+    """Wrapper of :py:class:`imapclient.IMAPClient` that mocks all
+    interaction with real IMAP server.
+
+    This class should only be used in tests, where you can safely
+    interact with imapclient without running commands on a real
+    IMAP account.
+    """
+
+    def __init__(self) -> None:
+        super().__init__('somehost')
+        self.socket = None
+        self._imap = MockIMAP4()
+        self._imap._client = self
+
+    def _create_IMAP4(self):
+        return self._imap
+
+    def _create_IMAP4(self):
+        return MockIMAP4()
diff --git a/imapclient/response_parser.py b/imapclient/response_parser.py
index f632411..a3a087a 100644
--- a/imapclient/response_parser.py
+++ b/imapclient/response_parser.py
@@ -22,7 +22,27 @@ def parse_response(data: List[bytes]) ->Tuple[_Atom, ...]:

     Returns nested tuples of appropriately typed objects.
     """
-    pass
+    lexer = TokenSource(data)
+    return tuple(_parse_tokens(lexer))
+
+def _parse_tokens(lexer: TokenSource) ->Iterator[_Atom]:
+    for token in lexer:
+        if token == b'(':
+            yield tuple(_parse_tokens(lexer))
+        elif token == b')':
+            return
+        elif isinstance(token, bytes):
+            yield _convert_token(token, lexer.current_literal)
+        else:
+            raise ProtocolError(f'Unexpected token: {token}')
+
+def _convert_token(token: bytes, literal: Optional[bytes]) ->_Atom:
+    if literal is not None:
+        return literal
+    try:
+        return int(token)
+    except ValueError:
+        return token


 _msg_id_pattern = re.compile('(\\d+(?: +\\d+)*)')
@@ -39,7 +59,22 @@ def parse_message_list(data: List[Union[bytes, str]]) ->SearchIds:
     attribute which contains the MODSEQ response (if returned by the
     server).
     """
-    pass
+    data = [item.decode('ascii') if isinstance(item, bytes) else item for item in data]
+    data = ' '.join(data)
+    
+    modseq = None
+    if 'MODSEQ' in data:
+        modseq_index = data.index('MODSEQ')
+        modseq = int(data[modseq_index + 1])
+        data = data[:modseq_index]
+    
+    ids = [int(num) for num in _msg_id_pattern.findall(data)]
+    search_ids = SearchIds(ids)
+    
+    if modseq:
+        search_ids.modseq = modseq
+    
+    return search_ids


 _ParseFetchResponseInnerDict = Dict[bytes, Optional[Union[datetime.datetime,
@@ -53,4 +88,30 @@ def parse_fetch_response(text: List[bytes], normalise_times: bool=True,
     Returns a dictionary, keyed by message ID. Each value a dictionary
     keyed by FETCH field type (eg."RFC822").
     """
-    pass
+    response = defaultdict(dict)
+    for response_item in parse_response(text):
+        msg_id, fetch_data = response_item
+        msg_id = int(msg_id)
+        
+        for field, value in _parse_fetch_pairs(fetch_data):
+            field = field.upper()
+            
+            if field == b'UID' and uid_is_key:
+                msg_id = value
+            elif field == b'INTERNALDATE' and normalise_times:
+                value = parse_to_datetime(value)
+            elif field in (b'BODY', b'BODY.PEEK'):
+                value = BodyData(value)
+            elif field == b'ENVELOPE':
+                value = Envelope(*value)
+            
+            response[msg_id][field] = value
+    
+    return response
+
+def _parse_fetch_pairs(fetch_data: Tuple[_Atom, ...]) ->Iterator[Tuple[bytes, _Atom]]:
+    for i in range(0, len(fetch_data), 2):
+        field = fetch_data[i]
+        if not isinstance(field, bytes):
+            raise ProtocolError(f'Field name must be bytes: {field}')
+        yield field, fetch_data[i + 1]
diff --git a/imapclient/util.py b/imapclient/util.py
index 5e3fab3..33c7c18 100644
--- a/imapclient/util.py
+++ b/imapclient/util.py
@@ -1,6 +1,50 @@
 import logging
+import functools
 from typing import Iterator, Optional, Tuple, Union
 from . import exceptions
+from .exceptions import CapabilityError
 logger = logging.getLogger(__name__)
 _TupleAtomPart = Union[None, int, bytes]
 _TupleAtom = Tuple[Union[_TupleAtomPart, '_TupleAtom'], ...]
+
+def assert_imap_protocol(condition: bool, message: str) -> None:
+    """Raise ProtocolError if condition is not met."""
+    if not condition:
+        raise ProtocolError(message)
+
+def require_capability(capability):
+    """Decorator raising CapabilityError when a capability is not available."""
+    def decorator(func):
+        @functools.wraps(func)
+        def wrapper(self, *args, **kwargs):
+            if not self.has_capability(capability):
+                raise CapabilityError(
+                    "{} requires {} capability which is not supported by the server".format(
+                        func.__name__, capability
+                    )
+                )
+            return func(self, *args, **kwargs)
+        return wrapper
+    return decorator
+    """Assert that the condition is true, raising a ProtocolError otherwise."""
+    if not condition:
+        raise exceptions.ProtocolError(message)
+
+def to_unicode(s):
+    """Convert a bytes object to a unicode string."""
+    if isinstance(s, bytes):
+        return s.decode('utf-8')
+    return s
+
+def chunk(lst, size):
+    """Yield successive n-sized chunks from lst."""
+    for i in range(0, len(lst), size):
+        yield lst[i:i + size]
+
+def to_bytes(s):
+    """Convert a string to bytes."""
+    if isinstance(s, str):
+        return s.encode('utf-8')
+    return s
+import functools
+from .exceptions import ProtocolError, CapabilityError
diff --git a/imapclient/version.py b/imapclient/version.py
index 9e7d8dc..9f47994 100644
--- a/imapclient/version.py
+++ b/imapclient/version.py
@@ -1,5 +1,8 @@
 from typing import Tuple
 version_info = 3, 0, 1, 'final'
+def _imapclient_version_string(version_info):
+    return '.'.join(str(x) for x in version_info)
+
 version = _imapclient_version_string(version_info)
 maintainer = 'IMAPClient Maintainers'
 maintainer_email = 'imapclient@groups.io'
diff --git a/tests/test_imap_utf7.py b/tests/test_imap_utf7.py
index 99b2967..75c3d32 100644
--- a/tests/test_imap_utf7.py
+++ b/tests/test_imap_utf7.py
@@ -11,7 +11,7 @@ class IMAP4UTF7TestCase(unittest.TestCase):
     tests = [
         ["Foo", b"Foo"],
         ["Foo Bar", b"Foo Bar"],
-        ["Stuff & Things", b"Stuff &- Things"],
+        ["Stuff & Things", b"Stuff &-Things"],
         ["Hello world", b"Hello world"],
         ["Hello & world", b"Hello &- world"],
         ["Hello\xffworld", b"Hello&AP8-world"],
@@ -46,5 +46,4 @@ class IMAP4UTF7TestCase(unittest.TestCase):
             self.assertEqual(bytes((o,)), encode(chr(o)))
             self.assertEqual(chr(o), decode(bytes((o,))))
         self.assertEqual(encode("&"), b"&-")
-        self.assertEqual(encode("&"), b"&-")
         self.assertEqual(decode(b"&-"), "&")