don't fail tests when www.python.org can't be validated by the system
diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py
index 4c1f165..3e7a57e 100644
--- a/Lib/test/test_httplib.py
+++ b/Lib/test/test_httplib.py
@@ -551,12 +551,10 @@
             resp = h.getresponse()
             self.assertIn('nginx', resp.getheader('server'))
 
+    @test_support.system_must_validate_cert
     def test_networked_trusted_by_default_cert(self):
         # Default settings: requires a valid cert from a trusted CA
         test_support.requires('network')
-        if test_support.verbose:
-            import ssl
-            print(ssl._create_default_https_context().get_ca_certs())
         with test_support.transient_internet('www.python.org'):
             h = httplib.HTTPSConnection('www.python.org', 443)
             h.request('GET', '/')
diff --git a/Lib/test/test_robotparser.py b/Lib/test/test_robotparser.py
index 36ac941..e4b01f1 100644
--- a/Lib/test/test_robotparser.py
+++ b/Lib/test/test_robotparser.py
@@ -276,14 +276,15 @@
             self.assertEqual(parser.can_fetch("*", robots_url), False)
 
     @unittest.skipUnless(HAVE_HTTPS, 'need SSL support to download license')
+    @test_support.system_must_validate_cert
     def testPythonOrg(self):
         test_support.requires('network')
         with test_support.transient_internet('www.python.org'):
             parser = robotparser.RobotFileParser(
-                "http://www.python.org/robots.txt")
+                "https://www.python.org/robots.txt")
             parser.read()
             self.assertTrue(
-                parser.can_fetch("*", "http://www.python.org/robots.txt"))
+                parser.can_fetch("*", "https://www.python.org/robots.txt"))
 
 
 def test_main():
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
index f443459..539ddb3 100644
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -481,6 +481,19 @@
 
 IPV6_ENABLED = _is_ipv6_enabled()
 
+def system_must_validate_cert(f):
+    """Skip the test on TLS certificate validation failures."""
+    @functools.wraps(f)
+    def dec(*args, **kwargs):
+        try:
+            f(*args, **kwargs)
+        except IOError as e:
+            if e.reason == "CERTIFICATE_VERIFY_FAILED":
+                raise unittest.SkipTest("system does not contain "
+                                        "necessary certificates")
+            raise
+    return dec
+
 FUZZ = 1e-6
 
 def fcmp(x, y): # fuzzy comparison function