BadDictKey test:  The output file expected "raising error" to be printed
exactly once.  But the test code can't know that, as the number of times
__cmp__ is called depends on internal details of the dict implementation.
This is especially nasty because the __hash__ method returns the address
of the class object, so the hash codes seen by the dict can vary across
runs, causing the dict to use a different probe order across runs.  I
just happened to see this test fail about 1 run in 7 today, but only
under a release build and when passing -O to Python.  So, changed the test
to be predictable across runs.
diff --git a/Lib/test/test_operations.py b/Lib/test/test_operations.py
index 3a9a379..b599c9d 100644
--- a/Lib/test/test_operations.py
+++ b/Lib/test/test_operations.py
@@ -11,12 +11,21 @@
 # http://sourceforge.net/bugs/?func=detailbug&bug_id=112558&group_id=5470
 
 class BadDictKey:
+    already_printed_raising_error = 0
+
     def __hash__(self):
         return hash(self.__class__)
 
     def __cmp__(self, other):
         if isinstance(other, self.__class__):
-            print "raising error"
+            if not BadDictKey.already_printed_raising_error:
+                # How many times __cmp__ gets called depends on the hash
+                # code and the internals of the dict implementation; we
+                # know it will be called at least once, but that's it.
+                # already_printed_raising_error makes sure the expected-
+                # output file prints the msg at most once.
+                BadDictKey.already_printed_raising_error = 1
+                print "raising error"
             raise RuntimeError, "gotcha"
         return other