Issue #7449, last part (11): fix many tests if thread support is disabled

 * Use try/except ImportError or test_support.import_module() to import thread
   and threading modules
 * Add @unittest.skipUnless(threading, ...) to testcases using threads
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index 432493b..0211f56 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -41,11 +41,13 @@
 from test.test_support import captured_stdout, run_with_locale, run_unittest,\
      find_unused_port
 import textwrap
-import threading
 import unittest
 import warnings
 import weakref
-
+try:
+    import threading
+except ImportError:
+    threading = None
 
 class BaseTest(unittest.TestCase):
 
@@ -765,6 +767,7 @@
         self.server_close()
 
 
+@unittest.skipUnless(threading, 'Threading required for this test.')
 class SocketHandlerTest(BaseTest):
 
     """Test for SocketHandler objects."""
@@ -1659,6 +1662,7 @@
     def test_config13_failure(self):
         self.assertRaises(StandardError, self.apply_config, self.config13)
 
+    @unittest.skipUnless(threading, 'listen() needs threading to work')
     def setup_via_listener(self, text):
         port = find_unused_port()
         t = logging.config.listen(port)