Files
@ 870c5c6c334f
Branch filter:
Location: Morevna/src/tests/test_hashtree.py - annotation
870c5c6c334f
674 B
text/x-python
reacquiring old locks
bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa 6a0ab4fe9f5e 5c80ca07f00c bacd3b2d37aa 6a0ab4fe9f5e 6a0ab4fe9f5e bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa 5c80ca07f00c 6a0ab4fe9f5e 5c80ca07f00c 6a0ab4fe9f5e 5c80ca07f00c bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa 5c80ca07f00c 6a0ab4fe9f5e 6a0ab4fe9f5e 5c80ca07f00c | import random
from unittest import TestCase
from hashtree import HashTree
from . import RedirectedOutput
random.seed(17)
def build_tree(leaves):
tree = HashTree(len(leaves))
for l in leaves:
tree.insert_leaf(l)
tree.build_tree()
return tree
class TestMorevna(RedirectedOutput, TestCase):
def test_batch_update(self):
leaves = [b"a" for i in range(8)]
t1 = build_tree(leaves)
keys = list(range(8))
for i in range(8):
random.shuffle(keys)
for k in keys[:i+1]:
leaves[k] = bytes([random.randrange(256)])
t2 = build_tree(leaves)
t1.batch_update((k + t1.leaf_start, leaves[k]) for k in keys[:i + 1])
self.assertEqual(t1.store, t2.store)
|