diff options
author | Victor Stinner <vstinner@redhat.com> | 2019-04-15 16:23:20 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-15 16:23:20 (GMT) |
commit | 74125a60b7a477451ff2b8385bfbce3fdaee8dbc (patch) | |
tree | 2a6670b9046ee35a4dc19d907b862c158c33dbfe /Lib/test/test_imaplib.py | |
parent | 0810fa79885276114d1a94e2ce61da367ebb1ffc (diff) | |
download | cpython-74125a60b7a477451ff2b8385bfbce3fdaee8dbc.zip cpython-74125a60b7a477451ff2b8385bfbce3fdaee8dbc.tar.gz cpython-74125a60b7a477451ff2b8385bfbce3fdaee8dbc.tar.bz2 |
bpo-36348: IMAP4.logout() doesn't ignore exc (GH-12411)
The imap.IMAP4.logout() method no longer ignores silently arbitrary
exceptions.
Changes:
* The IMAP4.logout() method now expects a "BYE" untagged response,
rather than relying on _check_bye() which raises a self.abort()
exception.
* IMAP4.__exit__() now does nothing if the client already logged out.
* Add more debug info if test_logout() tests fail.
Diffstat (limited to 'Lib/test/test_imaplib.py')
-rw-r--r-- | Lib/test/test_imaplib.py | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/Lib/test/test_imaplib.py b/Lib/test/test_imaplib.py index aec36af..9305e47 100644 --- a/Lib/test/test_imaplib.py +++ b/Lib/test/test_imaplib.py @@ -470,8 +470,8 @@ class NewIMAPTestsMixin(): self.assertEqual(typ, 'OK') self.assertEqual(data[0], b'LOGIN completed') typ, data = client.logout() - self.assertEqual(typ, 'BYE') - self.assertEqual(data[0], b'IMAP4ref1 Server logging out') + self.assertEqual(typ, 'BYE', (typ, data)) + self.assertEqual(data[0], b'IMAP4ref1 Server logging out', (typ, data)) self.assertEqual(client.state, 'LOGOUT') def test_lsub(self): @@ -937,7 +937,7 @@ class RemoteIMAPTest(unittest.TestCase): with transient_internet(self.host): rs = self.server.logout() self.server = None - self.assertEqual(rs[0], 'BYE') + self.assertEqual(rs[0], 'BYE', rs) @unittest.skipUnless(ssl, "SSL not available") @@ -995,7 +995,7 @@ class RemoteIMAP_SSLTest(RemoteIMAPTest): with transient_internet(self.host): _server = self.imap_class(self.host, self.port) rs = _server.logout() - self.assertEqual(rs[0], 'BYE') + self.assertEqual(rs[0], 'BYE', rs) def test_ssl_context_certfile_exclusive(self): with transient_internet(self.host): |