bpo-35505: Skip test_imap4_host_default_value if localhost listens on IMAP port (GH-11823)
Make test_imap4_host_default_value independent on whether the
local IMAP server is running.
(cherry picked from commit 3dc67d0316740e78e7cd014343f34d85908219b7)
Co-authored-by: Matěj Cepl <mcepl@cepl.eu>
diff --git a/Lib/test/test_imaplib.py b/Lib/test/test_imaplib.py
index a0b598d..a060143 100644
--- a/Lib/test/test_imaplib.py
+++ b/Lib/test/test_imaplib.py
@@ -8,6 +8,7 @@
import time
import calendar
import threading
+import socket
from test.support import (reap_threads, verbose, transient_internet,
run_with_tz, run_with_locale, cpython_only)
@@ -71,6 +72,15 @@
imaplib.Time2Internaldate(t)
def test_imap4_host_default_value(self):
+ # Check whether the IMAP4_PORT is truly unavailable.
+ with socket.socket() as s:
+ try:
+ s.connect(('', imaplib.IMAP4_PORT))
+ self.skipTest(
+ "Cannot run the test with local IMAP server running.")
+ except socket.error:
+ pass
+
expected_errnos = [
# This is the exception that should be raised.
errno.ECONNREFUSED,