[Zope-Checkins] CVS: Packages/BTrees/tests - testBTrees.py:1.51.8.4
    Tim Peters 
    tim.one at comcast.net
       
    Mon Jul 18 15:40:35 EDT 2005
    
    
  
Update of /cvs-repository/Packages/BTrees/tests
In directory cvs.zope.org:/tmp/cvs-serv4422/BTrees/tests
Modified Files:
      Tag: Zope-2_7-branch
	testBTrees.py 
Log Message:
Backport from ZODB 3.4.
Collector 1843:  IISet.keys: bad exception handling.
Bucket_rangeSearch():  De-obfuscated the calls to
Bucket_findRangeEnd(), so that they stop ignoring
the latter's error returns (a mind-bending combination
of embedded assignment nested in an UNLESS macro,
seemingly copy+paste'd so that the error occurred twice).
=== Packages/BTrees/tests/testBTrees.py 1.51.8.3 => 1.51.8.4 ===
--- Packages/BTrees/tests/testBTrees.py:1.51.8.3	Tue Jul  5 12:41:34 2005
+++ Packages/BTrees/tests/testBTrees.py	Mon Jul 18 15:40:35 2005
@@ -913,6 +913,15 @@
     def setUp(self):
         self.t = IISet()
 
+    # Collector 1843.  Error returns were effectively ignored in
+    # Bucket_rangeSearch(), leading to "delayed" errors, or worse.
+    def testNonIntKeyRaises(self):
+        self.t.insert(1)
+        # This one used to fail to raise the TypeError when it occurred.
+        self.assertRaises(TypeError, self.t.keys, "")
+        # This one used to segfault.
+        self.assertRaises(TypeError, self.t.keys, 0, "")
+
 class TestOISets(ExtendedSetTests, TestCase):
     def setUp(self):
         self.t = OISet()
    
    
More information about the Zope-Checkins
mailing list