mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-12-08 19:53:27 +01:00
tests: Make msg_block a witness block
This diff has been generated with the following script, but is better
reviewed without looking at the script.
# -BEGIN VERIFY SCRIPT-
echo "Use msg_witness_block everywhere, except for tests that require msg_block"
# This could be a separate commit, but it is combined with the
# following scripts to reduce the overall diff
sed -i -e 's/msg_block/msg_witness_block/g' ./test/functional/{feature_assumevalid,feature_cltv,feature_dersig,feature_versionbits_warning,p2p_fingerprint,p2p_sendheaders,p2p_unrequested_blocks,example_test,rpc_blockchain}.py
echo "Rename msg_block to msg_no_witness_block"
# Rename msg_block to msg_no_witness_block in all tests (not the
# framework)
sed -i -e 's/msg_block/msg_no_witness_block/g' $(git grep -l msg_block ./test/functional/*.py)
# Derive msg_no_witness_block from msg_block
# Make msg_block a witness block in messages.py
patch -p1 --fuzz 0 << EOF
diff --git a/test/functional/test_framework/messages.py b/test/functional/test_framework/messages.py
index 00190e4cbd..e454ed5987 100755
--- a/test/functional/test_framework/messages.py
+++ b/test/functional/test_framework/messages.py
@@ -1133 +1133 @@ class msg_block:
- return self.block.serialize(with_witness=False)
+ return self.block.serialize()
@@ -1155 +1155 @@ class msg_generic:
-class msg_witness_block(msg_block):
+class msg_no_witness_block(msg_block):
@@ -1158,2 +1158 @@ class msg_witness_block(msg_block):
- r = self.block.serialize()
- return r
+ return self.block.serialize(with_witness=False)
@@ -1445 +1444 @@ class msg_blocktxn:
- r += self.block_transactions.serialize(with_witness=False)
+ r += self.block_transactions.serialize()
@@ -1452 +1451 @@ class msg_blocktxn:
-class msg_witness_blocktxn(msg_blocktxn):
+class msg_no_witness_blocktxn(msg_blocktxn):
@@ -1456,3 +1455 @@ class msg_witness_blocktxn(msg_blocktxn):
- r = b""
- r += self.block_transactions.serialize()
- return r
+ return self.block_transactions.serialize(with_witness=False)
EOF
# Conclude rename of msg_block to msg_no_witness_block
sed -i -e 's/msg_witness_block/msg_block/g' $(git grep -l msg_witness_block)
# -END VERIFY SCRIPT-
This commit is contained in:
@@ -25,12 +25,12 @@ from test_framework.messages import (
|
||||
MSG_WITNESS_FLAG,
|
||||
NODE_NETWORK,
|
||||
NODE_WITNESS,
|
||||
msg_block,
|
||||
msg_no_witness_block,
|
||||
msg_getdata,
|
||||
msg_headers,
|
||||
msg_inv,
|
||||
msg_tx,
|
||||
msg_witness_block,
|
||||
msg_block,
|
||||
msg_witness_tx,
|
||||
ser_uint256,
|
||||
ser_vector,
|
||||
@@ -134,7 +134,7 @@ def test_witness_block(node, p2p, block, accepted, with_witness=True, reason=Non
|
||||
- use the getbestblockhash rpc to check for acceptance."""
|
||||
reason = [reason] if reason else []
|
||||
with node.assert_debug_log(expected_msgs=reason):
|
||||
p2p.send_message(msg_witness_block(block) if with_witness else msg_block(block))
|
||||
p2p.send_message(msg_block(block) if with_witness else msg_no_witness_block(block))
|
||||
p2p.sync_with_ping()
|
||||
assert_equal(node.getbestblockhash() == block.hash, accepted)
|
||||
|
||||
@@ -298,7 +298,7 @@ class SegWitTest(BitcoinTestFramework):
|
||||
|
||||
block = self.build_next_block(version=1)
|
||||
block.solve()
|
||||
self.test_node.send_message(msg_block(block))
|
||||
self.test_node.send_message(msg_no_witness_block(block))
|
||||
self.test_node.sync_with_ping() # make sure the block was processed
|
||||
txid = block.vtx[0].sha256
|
||||
|
||||
@@ -345,7 +345,7 @@ class SegWitTest(BitcoinTestFramework):
|
||||
|
||||
# But it should not be permanently marked bad...
|
||||
# Resend without witness information.
|
||||
self.test_node.send_message(msg_block(block))
|
||||
self.test_node.send_message(msg_no_witness_block(block))
|
||||
self.test_node.sync_with_ping()
|
||||
assert_equal(self.nodes[0].getbestblockhash(), block.hash)
|
||||
|
||||
@@ -791,7 +791,7 @@ class SegWitTest(BitcoinTestFramework):
|
||||
block.solve()
|
||||
|
||||
# Test the test -- witness serialization should be different
|
||||
assert msg_witness_block(block).serialize() != msg_block(block).serialize()
|
||||
assert msg_block(block).serialize() != msg_no_witness_block(block).serialize()
|
||||
|
||||
# This empty block should be valid.
|
||||
test_witness_block(self.nodes[0], self.test_node, block, accepted=True)
|
||||
|
||||
Reference in New Issue
Block a user