Files
@ 4f3ff4c311f2
Branch filter:
Location: Morevna/src/tests/test_hashtree.py - annotation
4f3ff4c311f2
647 B
text/x-python
bugfix: server failed to update its stored tree
bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa bacd3b2d37aa | import random
from unittest import TestCase
from hashtree import HashTree
from . import RedirectedOutput
random.seed(17)
def buildTree(leaves):
tree=HashTree(len(leaves))
for l in leaves:
tree.insertLeaf(l)
tree.buildTree()
return tree
class TestMorevna(RedirectedOutput,TestCase):
def test_batchUpdate(self):
leaves=[b"a" for i in range(8)]
t1=buildTree(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=buildTree(leaves)
t1.batchUpdate((k+t1.leafStart,leaves[k]) for k in keys[:i+1])
self.assertEqual(t1.store,t2.store)
|