From ea52b71ff560f313bc6c898fe0ed515bd152bd9e Mon Sep 17 00:00:00 2001 From: Mariano Sorgente Date: Thu, 26 Nov 2020 17:43:45 +0900 Subject: [PATCH] Fix test --- tests/full_node/test_blockchain.py | 118 ++++++++++++++--------------- 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/tests/full_node/test_blockchain.py b/tests/full_node/test_blockchain.py index cc680296f3..b487b27be6 100644 --- a/tests/full_node/test_blockchain.py +++ b/tests/full_node/test_blockchain.py @@ -79,65 +79,65 @@ class TestBlockHeaderValidation: async def test_long_chain(self, empty_blockchain, default_1000_blocks): blocks = default_1000_blocks for block in blocks: - # if ( - # len(block.finished_sub_slots) > 0 - # and block.finished_sub_slots[0].challenge_chain.subepoch_summary_hash is not None - # ): - # # Sub/Epoch. Try using a bad ssi and difficulty to test 2m and 2n - # new_finished_ss = recursive_replace( - # block.finished_sub_slots[0], - # "challenge_chain.new_sub_slot_iters", - # uint64(10000000), - # ) - # block_bad = recursive_replace( - # block, "finished_sub_slots", [new_finished_ss] + block.finished_sub_slots[1:] - # ) - # result, err, _ = await empty_blockchain.receive_block(block_bad) - # assert err == Err.INVALID_NEW_SUB_SLOT_ITERS - # new_finished_ss_2 = recursive_replace( - # block.finished_sub_slots[0], - # "challenge_chain.new_difficulty", - # uint64(10000000), - # ) - # block_bad_2 = recursive_replace( - # block, "finished_sub_slots", [new_finished_ss_2] + block.finished_sub_slots[1:] - # ) - # result, err, _ = await empty_blockchain.receive_block(block_bad_2) - # assert err == Err.INVALID_NEW_DIFFICULTY - # - # # 3c - # new_finished_ss_3: EndOfSubSlotBundle = recursive_replace( - # block.finished_sub_slots[0], - # "challenge_chain.subepoch_summary_hash", - # bytes([0] * 32), - # ) - # new_finished_ss_3 = recursive_replace( - # new_finished_ss_3, - # "reward_chain.challenge_chain_sub_slot_hash", - # new_finished_ss_3.challenge_chain.get_hash(), - # ) - # block_bad_3 = recursive_replace( - # block, "finished_sub_slots", [new_finished_ss_3] + block.finished_sub_slots[1:] - # ) - # result, err, _ = await empty_blockchain.receive_block(block_bad_3) - # assert err == Err.INVALID_SUB_EPOCH_SUMMARY - # - # # 3d - # new_finished_ss_4 = recursive_replace( - # block.finished_sub_slots[0], - # "challenge_chain.subepoch_summary_hash", - # None, - # ) - # new_finished_ss_4 = recursive_replace( - # new_finished_ss_4, - # "reward_chain.challenge_chain_sub_slot_hash", - # new_finished_ss_4.challenge_chain.get_hash(), - # ) - # block_bad_4 = recursive_replace( - # block, "finished_sub_slots", [new_finished_ss_4] + block.finished_sub_slots[1:] - # ) - # result, err, _ = await empty_blockchain.receive_block(block_bad_4) - # assert err == Err.INVALID_SUB_EPOCH_SUMMARY + if ( + len(block.finished_sub_slots) > 0 + and block.finished_sub_slots[0].challenge_chain.subepoch_summary_hash is not None + ): + # Sub/Epoch. Try using a bad ssi and difficulty to test 2m and 2n + new_finished_ss = recursive_replace( + block.finished_sub_slots[0], + "challenge_chain.new_sub_slot_iters", + uint64(10000000), + ) + block_bad = recursive_replace( + block, "finished_sub_slots", [new_finished_ss] + block.finished_sub_slots[1:] + ) + result, err, _ = await empty_blockchain.receive_block(block_bad) + assert err == Err.INVALID_NEW_SUB_SLOT_ITERS + new_finished_ss_2 = recursive_replace( + block.finished_sub_slots[0], + "challenge_chain.new_difficulty", + uint64(10000000), + ) + block_bad_2 = recursive_replace( + block, "finished_sub_slots", [new_finished_ss_2] + block.finished_sub_slots[1:] + ) + result, err, _ = await empty_blockchain.receive_block(block_bad_2) + assert err == Err.INVALID_NEW_DIFFICULTY + + # 3c + new_finished_ss_3: EndOfSubSlotBundle = recursive_replace( + block.finished_sub_slots[0], + "challenge_chain.subepoch_summary_hash", + bytes([0] * 32), + ) + new_finished_ss_3 = recursive_replace( + new_finished_ss_3, + "reward_chain.challenge_chain_sub_slot_hash", + new_finished_ss_3.challenge_chain.get_hash(), + ) + block_bad_3 = recursive_replace( + block, "finished_sub_slots", [new_finished_ss_3] + block.finished_sub_slots[1:] + ) + result, err, _ = await empty_blockchain.receive_block(block_bad_3) + assert err == Err.INVALID_SUB_EPOCH_SUMMARY + + # 3d + new_finished_ss_4 = recursive_replace( + block.finished_sub_slots[0], + "challenge_chain.subepoch_summary_hash", + None, + ) + new_finished_ss_4 = recursive_replace( + new_finished_ss_4, + "reward_chain.challenge_chain_sub_slot_hash", + new_finished_ss_4.challenge_chain.get_hash(), + ) + block_bad_4 = recursive_replace( + block, "finished_sub_slots", [new_finished_ss_4] + block.finished_sub_slots[1:] + ) + result, err, _ = await empty_blockchain.receive_block(block_bad_4) + assert err == Err.INVALID_SUB_EPOCH_SUMMARY or err == Err.INVALID_NEW_SUB_SLOT_ITERS result, err, _ = await empty_blockchain.receive_block(block) assert err is None