Add Tim's gc boom test to the test suite.
diff --git a/Lib/test/test_gc.py b/Lib/test/test_gc.py
index 95cea29..f190fa4 100644
--- a/Lib/test/test_gc.py
+++ b/Lib/test/test_gc.py
@@ -253,6 +253,24 @@
             v = {1: v, 2: Ouch()}
     gc.disable()
 
+class C:
+    def __getattr__(self, attr):
+        del self.attr
+        raise AttributeError
+
+def test_boom():
+    a = C()
+    b = C()
+    a.attr = b
+    b.attr = a
+
+    gc.collect()
+    del a, b
+    # the collection will invoke the getattr and decref one of the
+    # object.  so they are deallocated without being reported as
+    # part of a cycle.
+    expect(gc.collect(), 0, "boom")
+
 def test_all():
     gc.collect() # Delete 2nd generation garbage
     run_test("lists", test_list)
@@ -271,6 +289,7 @@
     run_test("__del__ (new class)", test_del_newclass)
     run_test("saveall", test_saveall)
     run_test("trashcan", test_trashcan)
+    run_test("boom", test_boom)
 
 def test():
     if verbose: