Merge bitcoin/bitcoin#31139: test: added test to assert TX decode rpc error on submitpackage rpc

d7fd766feb test: added test to assert TX decode rpc error on submitpackage rpc (kevkevinpal)

Pull request description:

  This PR adds coverage for this line https://github.com/bitcoin/bitcoin/blob/master/src/rpc/mempool.cpp#L996

  If you run the following you will get no results for `submitpackage`
  `grep -nri "TX decode failed" ./test/functional`

ACKs for top commit:
  achow101:
    ACK d7fd766feb
  instagibbs:
    reACK d7fd766feb
  tdb3:
    ACK d7fd766feb
  rkrux:
    reACK d7fd766feb

Tree-SHA512: e92e0e2621a4efab35625d8da3ac61ccb7fa65c378aa977112bc132fd3b42431f8c3ceb081f7c9903ed2833c229042b65bdb11444e1d6367354ae65dc7504231
master
Ava Chow 6 days ago
commit f1bcf3edc5
No known key found for this signature in database
GPG Key ID: 17565732E08E5E41

@ -369,6 +369,14 @@ class RPCPackagesTest(BitcoinTestFramework):
def test_submitpackage(self): def test_submitpackage(self):
node = self.nodes[0] node = self.nodes[0]
self.log.info("Submitpackage only allows valid hex inputs")
valid_tx_list = self.wallet.create_self_transfer_chain(chain_length=2)
hex_list = [valid_tx_list[0]["hex"][:-1] + 'X', valid_tx_list[1]["hex"]]
txid_list = [valid_tx_list[0]["txid"], valid_tx_list[1]["txid"]]
assert_raises_rpc_error(-22, "TX decode failed:", node.submitpackage, hex_list)
assert txid_list[0] not in node.getrawmempool()
assert txid_list[1] not in node.getrawmempool()
self.log.info("Submitpackage valid packages with 1 child and some number of parents") self.log.info("Submitpackage valid packages with 1 child and some number of parents")
for num_parents in [1, 2, 24]: for num_parents in [1, 2, 24]:
self.test_submit_child_with_parents(num_parents, False) self.test_submit_child_with_parents(num_parents, False)

Loading…
Cancel
Save