Print more information the next time test_socket throws the wrong exception.
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index 660d853..6140962 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -5,8 +5,9 @@
 
 import socket
 import select
-import time
 import thread, threading
+import time
+import traceback
 import Queue
 import sys
 import os
@@ -986,10 +987,13 @@
             except Alarm:
                 pass
             except:
-                self.fail("caught other exception instead of Alarm")
+                self.fail("caught other exception instead of Alarm:"
+                          " %s(%s):\n%s" %
+                          (sys.exc_info()[:2] + (traceback.format_exc(),)))
             else:
                 self.fail("nothing caught")
-            signal.alarm(0)         # shut off alarm
+            finally:
+                signal.alarm(0)         # shut off alarm
         except Alarm:
             self.fail("got Alarm in wrong place")
         finally: