Skip to content

Commit 4af97c7

Browse files
committed
test: introduce get_weight() helper for CBlock
1 parent a084ebe commit 4af97c7

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

test/functional/p2p_segwit.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -450,8 +450,7 @@ def test_block_relay(self):
450450
rpc_details = self.nodes[0].getblock(block.hash, True)
451451
assert_equal(rpc_details["size"], len(block.serialize()))
452452
assert_equal(rpc_details["strippedsize"], len(block.serialize(False)))
453-
weight = 3 * len(block.serialize(False)) + len(block.serialize())
454-
assert_equal(rpc_details["weight"], weight)
453+
assert_equal(rpc_details["weight"], block.get_weight())
455454

456455
# Upgraded node should not ask for blocks from unupgraded
457456
block4 = self.build_next_block(version=4)

test/functional/test_framework/messages.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,13 @@ def solve(self):
746746
self.nNonce += 1
747747
self.rehash()
748748

749+
# Calculate the block weight using witness and non-witness
750+
# serialization size (does NOT use sigops).
751+
def get_weight(self):
752+
with_witness_size = len(self.serialize(with_witness=True))
753+
without_witness_size = len(self.serialize(with_witness=False))
754+
return (WITNESS_SCALE_FACTOR - 1) * without_witness_size + with_witness_size
755+
749756
def __repr__(self):
750757
return "CBlock(nVersion=%i hashPrevBlock=%064x hashMerkleRoot=%064x nTime=%s nBits=%08x nNonce=%08x vtx=%s)" \
751758
% (self.nVersion, self.hashPrevBlock, self.hashMerkleRoot,

0 commit comments

Comments
 (0)