[Checkins] SVN: BTrees/branches/pure_python/ 100% coverage.\!
Tres Seaver
cvs-admin at zope.org
Wed Dec 5 00:41:51 UTC 2012
Log message for revision 128531:
100% coverage.\!
Changed:
_U BTrees/branches/pure_python/
U BTrees/branches/pure_python/BTrees/check.py
U BTrees/branches/pure_python/BTrees/tests/test_check.py
-=-
Modified: BTrees/branches/pure_python/BTrees/check.py
===================================================================
--- BTrees/branches/pure_python/BTrees/check.py 2012-12-05 00:41:48 UTC (rev 128530)
+++ BTrees/branches/pure_python/BTrees/check.py 2012-12-05 00:41:51 UTC (rev 128531)
@@ -368,7 +368,7 @@
".".join(map(str, path)))
self.errors.append(s)
-class Printer(Walker):
+class Printer(Walker): #pragma NO COVER
def __init__(self, obj):
Walker.__init__(self, obj)
@@ -422,6 +422,6 @@
Checker(btree).check()
-def display(btree):
+def display(btree): #pragma NO COVER
"Display the internal structure of a BTree, Bucket, TreeSet or Set."
Printer(btree).display()
Modified: BTrees/branches/pure_python/BTrees/tests/test_check.py
===================================================================
--- BTrees/branches/pure_python/BTrees/tests/test_check.py 2012-12-05 00:41:48 UTC (rev 128530)
+++ BTrees/branches/pure_python/BTrees/tests/test_check.py 2012-12-05 00:41:51 UTC (rev 128531)
@@ -264,15 +264,6 @@
def _makeOne(self, obj):
return self._getTargetClass()(obj)
- def _makeTree(self, fill):
- from BTrees.OOBTree import OOBTree
- from BTrees.OOBTree import _BUCKET_SIZE
- tree = OOBTree()
- if fill:
- for i in range(_BUCKET_SIZE + 1):
- tree[i] = 2*i
- return tree
-
def test_walk_w_empty_bucket(self):
from BTrees.OOBTree import OOBucket
obj = OOBucket()
@@ -287,7 +278,7 @@
checker.check() #noraise
def test_walk_w_empty_btree(self):
- obj = self._makeTree(False)
+ obj = _makeTree(False)
checker = self._makeOne(obj)
path = '/'
parent = object()
@@ -299,7 +290,7 @@
checker.check() #noraise
def test_walk_w_degenerate_btree(self):
- obj = self._makeTree(False)
+ obj = _makeTree(False)
obj['a'] = 1
checker = self._makeOne(obj)
path = '/'
@@ -312,7 +303,7 @@
checker.check() #noraise
def test_walk_w_normal_btree(self):
- obj = self._makeTree(False)
+ obj = _makeTree(False)
checker = self._makeOne(obj)
path = '/'
parent = object()
@@ -324,7 +315,7 @@
checker.check() #noraise
def test_walk_w_key_too_large(self):
- obj = self._makeTree(True)
+ obj = _makeTree(True)
state = obj.__getstate__()
# Damage an invariant by dropping the BTree key to 14.
new_state = (state[0][0], 14, state[0][2]), state[1]
@@ -341,7 +332,7 @@
self.assertTrue(">= upper bound" in str(e))
def test_walk_w_key_too_small(self):
- obj = self._makeTree(True)
+ obj = _makeTree(True)
state = obj.__getstate__()
# Damage an invariant by bumping the BTree key to 16.
new_state = (state[0][0], 16, state[0][2]), state[1]
@@ -358,7 +349,7 @@
self.assertTrue("< lower bound" in str(e))
def test_walk_w_keys_swapped(self):
- obj = self._makeTree(True)
+ obj = _makeTree(True)
state = obj.__getstate__()
# Damage an invariant by bumping the BTree key to 16.
(b0, num, b1), firstbucket = state
@@ -401,76 +392,27 @@
return tree
def test_normal(self):
- # Looks like (state, first_bucket)
- # where state looks like (bucket0, 15, bucket1).
- tree = self._makeOne()
+ from BTrees.OOBTree import OOBTree
+ tree = OOBTree()
+ for i in range(31):
+ tree[i] = 2*i
state = tree.__getstate__()
self.assertEqual(len(state), 2)
self.assertEqual(len(state[0]), 3)
self.assertEqual(state[0][1], 15)
- tree._check() # shouldn't blow up
- self._callFUT(tree) # shouldn't blow up
+ self._callFUT(tree) #noraise
- def test_key_too_large(self):
- # Damage an invariant by dropping the BTree key to 14.
- tree = self._makeOne()
- state = tree.__getstate__()
- news = (state[0][0], 14, state[0][2]), state[1]
- tree.__setstate__(news)
- tree._check() # not caught
- try:
- # Expecting "... key %r >= upper bound %r at index %d"
- self._callFUT(tree)
- except AssertionError as detail:
- self.assertTrue(">= upper bound" in str(detail))
- else:
- self.fail("expected check(tree) to catch the problem")
- def test_key_too_small(self):
- # Damage an invariant by bumping the BTree key to 16.
- tree = self._makeOne()
- state = tree.__getstate__()
- news = (state[0][0], 16, state[0][2]), state[1]
- tree.__setstate__(news)
- tree._check() # not caught
- try:
- # Expecting "... key %r < lower bound %r at index %d"
- self._callFUT(tree)
- except AssertionError as detail:
- self.assertTrue("< lower bound" in str(detail))
- else:
- self.fail("expected check(tree) to catch the problem")
+def _makeTree(fill):
+ from BTrees.OOBTree import OOBTree
+ from BTrees.OOBTree import _BUCKET_SIZE
+ tree = OOBTree()
+ if fill:
+ for i in range(_BUCKET_SIZE + 1):
+ tree[i] = 2*i
+ return tree
- def test_keys_swapped(self):
- # Damage an invariant by swapping two key/value pairs.
- tree = self._makeOne()
- state = tree.__getstate__()
- # Looks like (state, first_bucket)
- # where state looks like (bucket0, 15, bucket1).
- (b0, num, b1), firstbucket = state
- self.assertEqual(b0[4], 8)
- self.assertEqual(b0[5], 10)
- b0state = b0.__getstate__()
- self.assertEqual(len(b0state), 2)
- # b0state looks like
- # ((k0, v0, k1, v1, ...), nextbucket)
- pairs, nextbucket = b0state
- self.assertEqual(pairs[8], 4)
- self.assertEqual(pairs[9], 8)
- self.assertEqual(pairs[10], 5)
- self.assertEqual(pairs[11], 10)
- newpairs = pairs[:8] + (5, 10, 4, 8) + pairs[12:]
- b0.__setstate__((newpairs, nextbucket))
- tree._check() # not caught
- try:
- self._callFUT(tree)
- except AssertionError, detail:
- self.assertTrue(
- "key 5 at index 4 >= key 4 at index 5" in str(detail))
- else:
- self.fail("expected check(tree) to catch the problem")
-
def test_suite():
return unittest.TestSuite((
unittest.makeSuite(Test_classify),
More information about the checkins
mailing list