aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Turner Arthur <[email protected]>2018-09-25 21:10:13 -0500
committerJustin Turner Arthur <[email protected]>2018-09-26 21:50:51 -0500
commit17b42f4122740a7d9c91f3b42f77907e9cdcf680 (patch)
tree32c408cc51feaee923cbaae5a9e52e9eb6f29cdb
parentStrictly enforce instance attrs in critical functional test classes. (diff)
downloaddiscoin-17b42f4122740a7d9c91f3b42f77907e9cdcf680.tar.xz
discoin-17b42f4122740a7d9c91f3b42f77907e9cdcf680.zip
Check for specific tx acceptance failures based on script signature
-rwxr-xr-xtest/functional/p2p_segwit.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/test/functional/p2p_segwit.py b/test/functional/p2p_segwit.py
index 1b3c5bd1f..afbbfa899 100755
--- a/test/functional/p2p_segwit.py
+++ b/test/functional/p2p_segwit.py
@@ -769,12 +769,16 @@ class SegWitTest(BitcoinTestFramework):
# will require a witness to spend a witness program regardless of
# segwit activation. Note that older bitcoind's that are not
# segwit-aware would also reject this for failing CLEANSTACK.
- test_transaction_acceptance(self.nodes[0], self.test_node, spend_tx, with_witness=False, accepted=False)
+ with self.nodes[0].assert_debug_log(
+ expected_msgs=(spend_tx.hash, 'was not accepted: non-mandatory-script-verify-flag (Witness program was passed an empty witness)')):
+ test_transaction_acceptance(self.nodes[0], self.test_node, spend_tx, with_witness=False, accepted=False)
# Try to put the witness script in the scriptSig, should also fail.
spend_tx.vin[0].scriptSig = CScript([p2wsh_pubkey, b'a'])
spend_tx.rehash()
- test_transaction_acceptance(self.nodes[0], self.test_node, spend_tx, with_witness=False, accepted=False)
+ with self.nodes[0].assert_debug_log(
+ expected_msgs=('Not relaying invalid transaction {}'.format(spend_tx.hash), 'was not accepted: mandatory-script-verify-flag-failed (Script evaluated without error but finished with a false/empty top stack element)')):
+ test_transaction_acceptance(self.nodes[0], self.test_node, spend_tx, with_witness=False, accepted=False)
# Now put the witness script in the witness, should succeed after
# segwit activates.