[Python-checkins] r57538 - python/trunk/Lib/test/test_ssl.py

neal.norwitz python-checkins at python.org
Mon Aug 27 03:15:33 CEST 2007


Author: neal.norwitz
Date: Mon Aug 27 03:15:33 2007
New Revision: 57538

Modified:
   python/trunk/Lib/test/test_ssl.py
Log:
If we can't create a certificate, print a warning, but don't fail the test.
Modified patch from what Bill Janssen sent on python-3000.



Modified: python/trunk/Lib/test/test_ssl.py
==============================================================================
--- python/trunk/Lib/test/test_ssl.py	(original)
+++ python/trunk/Lib/test/test_ssl.py	Mon Aug 27 03:15:33 2007
@@ -194,7 +194,8 @@
                         self.server.stop()
                         self.running = False
                     else:
-                        #sys.stdout.write("\nserver: %s\n" % msg.strip().lower())
+                        if test_support.verbose:
+                            sys.stdout.write("\nserver: %s\n" % msg.strip().lower())
                         sslconn.write(msg.lower())
                 except ssl.sslerror:
                     handle_error("Test server failure:\n")
@@ -241,7 +242,8 @@
         while self.active:
             try:
                 newconn, connaddr = self.sock.accept()
-                #sys.stdout.write('\nserver:  new connection from ' + str(connaddr) + '\n')
+                if test_support.verbose:
+                    sys.stdout.write('\nserver:  new connection from ' + str(connaddr) + '\n')
                 handler = self.ConnectionHandler(self, newconn)
                 handler.start()
             except socket.timeout:
@@ -321,28 +323,28 @@
     os.unlink(conffile)
     if (os.WEXITSTATUS(error) or
         not os.path.exists(crtfile) or os.path.getsize(crtfile) == 0):
-        raise test_support.TestFailed(
-            "Unable to create certificate for test %d." % error)
+        if test_support.verbose:
+            sys.stdout.write("Unable to create certificate for test %d\n" % error)
+        crtfile = None
+    elif test_support.verbose:
+        sys.stdout.write(open(crtfile, 'r').read() + '\n')
     return d, crtfile
 
-    # XXX(nnorwitz): should this code be removed now?
-    #sf_certfile = os.path.join(d, "sourceforge-imap.pem")
-    #sf_cert = ssl.fetch_server_certificate('pop.gmail.com', 995)
-    #open(sf_certfile, 'w').write(sf_cert)
-    #return d, crtfile, sf_certfile
-    # sys.stderr.write(open(crtfile, 'r').read() + '\n')
 
-def test_main():
+def test_main(verbose=False):
     if skip_expected:
         raise test_support.TestSkipped("socket module has no ssl support")
 
     global CERTFILE
     tdir, CERTFILE = create_cert_files()
+    if not CERTFILE:
+        sys.__stdout__.write("Skipping test_ssl ConnectedTests; "
+                             "couldn't create a certificate.\n")
 
     tests = [BasicTests]
 
     server = None
-    if test_support.is_resource_enabled('network'):
+    if CERTFILE and test_support.is_resource_enabled('network'):
         server = ThreadedEchoServer(10024, CERTFILE)
         flag = threading.Event()
         server.start(flag)
@@ -360,7 +362,8 @@
             # wait for it to stop
             server.join()
 
-    shutil.rmtree(tdir)
+    if tdir and os.path.isdir(tdir):
+        shutil.rmtree(tdir)
     test_support.threading_cleanup(*thread_info)
 
 if __name__ == "__main__":


More information about the Python-checkins mailing list