def setUp(self): # We set up and tear down the tree a few times to validate the dropTree function self.tree = hamDb.BkHammingTree() for x in range(4): with self.tree.writer_context(): self.tree.dropTree() self.buildTestTree()
def buildTestTree(self): self.tree = hamDb.BkHammingTree() for nodeId, node_hash in enumerate(TEST_DATA_Narrow): print("Inserting node id: ", nodeId, "hash", node_hash, "value: ", b2i(node_hash)) node_hash = b2i(node_hash) self.tree.insert(node_hash, nodeId)
def setUp(self): self.tree = hamDb.BkHammingTree() for x in range(4): with self.tree.writer_context(): self.tree.dropTree() self.buildTestTree()
def test_reentrant_read(self): # print("Test: test_reentrant_read") testLock = hamDb.BkHammingTree() testLock.get_read_lock() testLock.get_read_lock() testLock.free_read_lock() testLock.free_read_lock()
def test_overrelease_write(self): # print("Test: test_overrelease_write") testLock = hamDb.BkHammingTree() testLock.get_write_lock() testLock.free_write_lock() self.assertRaises(RuntimeError, testLock.free_write_lock)
def __init__(self, noglobal=False): super().__init__() if noglobal: self.tree = hamDb.BkHammingTree() else: self.tree = TreeProxy.Instance() assert self.tree is not None
def test_non_reentrant_write(self): # print("Test: test_non_reentrant_write") testLock = hamDb.BkHammingTree() testLock.get_write_lock() self.assertRaises(RuntimeError, testLock.get_write_lock, blocking=False) testLock.free_write_lock()
def __init__(self, noglobal=False): super().__init__() if noglobal: self.tree = hamDb.BkHammingTree() else: self.tree = TreeProxy.Instance() # Only load the tree if it's empty with self.tree.updateLock.writer_context(): self.doLoad(silent=True)
def buildTestTree(self): self.tree = hamDb.BkHammingTree() print("Building test tree with size: %s" % self.tree_size) local_random = random.Random() local_random.seed(RANDOM_INIT) for nodeId in range(self.tree_size): node_hash = local_random.getrandbits(64) - 2**63 self.tree.insert(node_hash, nodeId) local_random = random.Random() local_random.seed(RANDOM_INIT) for nodeId in range(self.tree_size): node_hash = local_random.getrandbits(64) - 2**63 if nodeId % 7 == 0: self.tree.insert(node_hash, nodeId) print("Built")
# 81111111000000000000000000000000000000000000000000000000000000111100000000 # "0000000000000000000000000001100000000001111111111111111000000000", # 9 # "0000000000000000000000000011100000000001111111111111111000000000", # 10 # "0000000000000000000000000010100000000001111111111111111000000000", # 11 # "0000000000000000000000000011000000000001111111111111111000000000", # 12 # "0000000000000000000000000001000000000001111111111111111000000000", # 13 # "0000000000000000000000000101000000000001111111111111111000000000", # 14 # "0000000000000000000000001101000000000001111111111111111000000000", # 15 ] def trans(my_hexdata): scale = 16 ## equals to hexadecimal num_of_bits = 64 return bin(int(my_hexdata, scale))[2:].zfill(num_of_bits) tree = hamDb.BkHammingTree() for nodeId, node_hash in enumerate(TEST_DATA): print("Inserting node id: ", nodeId, "hash", node_hash, "value: ", b2i(node_hash)) node_hash = b2i(node_hash) tree.unlocked_insert(node_hash, nodeId) image = Image.open('data/t1.png') #row, col = dhash.dhash_row_col(image, size=8) #hash = dhash.format_hex(row, col) hash = imagehash.phash(image) print(str(hash)) hash = trans(str(hash)) print(hash) tgtHash1 = b2i(hash) tree.unlocked_insert(tgtHash1, 15764)
def buildTestTree(self): self.tree = hamDb.BkHammingTree() for nodeId, nodeHash in TEST_DATA.items(): self.tree.insert(nodeHash, nodeId)
def setUp(self): self.tree = hamDb.BkHammingTree() print("Warming memory") for x in range(3): self.buildTestTree()
def __init_variables(): buffer_ = [] rw_lock = hamDb.BkHammingTree() threads = [] return (buffer_, rw_lock, threads)
def buildTestTree(self): self.tree = hamDb.BkHammingTree() self.buildOntoTree(self.tree)