Changeset View
Changeset View
Standalone View
Standalone View
test/functional/abc_p2p_avalanche_proof_voting.py
Show First 20 Lines • Show All 276 Lines • ▼ Show 20 Lines | def update_tests(self, node): | ||||
assert proofid_seq40 not in get_proof_ids(node) | assert proofid_seq40 not in get_proof_ids(node) | ||||
def reject_proof(proofid): | def reject_proof(proofid): | ||||
self.wait_until( | self.wait_until( | ||||
lambda: self.can_find_proof_in_poll( | lambda: self.can_find_proof_in_poll( | ||||
proofid, response=AvalancheProofVoteResponse.REJECTED)) | proofid, response=AvalancheProofVoteResponse.REJECTED)) | ||||
return proofid not in get_proof_ids(node) | return proofid not in get_proof_ids(node) | ||||
with node.assert_debug_log( | |||||
[f"Avalanche rejected proof {proofid_seq50:0{64}x}"], | |||||
["Failed to reject proof"] | |||||
): | |||||
self.wait_until(lambda: reject_proof(proofid_seq50)) | self.wait_until(lambda: reject_proof(proofid_seq50)) | ||||
assert proofid_seq50 not in get_proof_ids(node) | assert proofid_seq50 not in get_proof_ids(node) | ||||
assert proofid_seq40 in get_proof_ids(node) | assert proofid_seq40 in get_proof_ids(node) | ||||
self.log.info("Test proof invalidation") | self.log.info("Test proof invalidation") | ||||
def invalidate_proof(proofid): | def invalidate_proof(proofid): | ||||
self.wait_until( | self.wait_until( | ||||
lambda: self.can_find_proof_in_poll( | lambda: self.can_find_proof_in_poll( | ||||
proofid, response=AvalancheProofVoteResponse.REJECTED)) | proofid, response=AvalancheProofVoteResponse.REJECTED)) | ||||
return try_rpc(-8, "Proof not found", | return try_rpc(-8, "Proof not found", | ||||
node.getrawavalancheproof, f"{proofid:0{64}x}") | node.getrawavalancheproof, f"{proofid:0{64}x}") | ||||
with node.assert_debug_log( | |||||
[f"Avalanche invalidated proof {proofid_seq50:0{64}x}"], | |||||
["Failed to reject proof"] | |||||
): | |||||
self.wait_until(lambda: invalidate_proof(proofid_seq50)) | self.wait_until(lambda: invalidate_proof(proofid_seq50)) | ||||
self.log.info("The node will now ignore the invalid proof") | self.log.info("The node will now ignore the invalid proof") | ||||
for i in range(5): | for i in range(5): | ||||
with node.assert_debug_log(["received: avaproof"]): | with node.assert_debug_log(["received: avaproof"]): | ||||
self.send_proof(peer, proof_seq50) | self.send_proof(peer, proof_seq50) | ||||
assert_raises_rpc_error(-8, | assert_raises_rpc_error(-8, | ||||
"Proof not found", | "Proof not found", | ||||
▲ Show 20 Lines • Show All 238 Lines • Show Last 20 Lines |