From 83fab3212c91d91fc5502f940c901a07772ff747 Mon Sep 17 00:00:00 2001 From: Ava Chow Date: Mon, 10 Jun 2024 16:52:46 -0400 Subject: [PATCH] test: Add combinerawtransaction test to rpc_createmultisig The only coverage of combinerawtransaction is in a legacy wallet only test. So also use it in rpc_createmultisig so that this RPC remains tested after the legacy wallet is removed. --- test/functional/rpc_createmultisig.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/test/functional/rpc_createmultisig.py b/test/functional/rpc_createmultisig.py index d95820bbf8..0692a1203d 100755 --- a/test/functional/rpc_createmultisig.py +++ b/test/functional/rpc_createmultisig.py @@ -194,13 +194,19 @@ class RpcCreateMultiSigTest(BitcoinTestFramework): assert_raises_rpc_error(-8, "redeemScript/witnessScript does not match scriptPubKey", node2.signrawtransactionwithkey, rawtx, priv_keys[0:nsigs-1], [prevtx_err]) rawtx2 = node2.signrawtransactionwithkey(rawtx, priv_keys[0:nsigs - 1], prevtxs) - rawtx3 = node2.signrawtransactionwithkey(rawtx2["hex"], [priv_keys[-1]], prevtxs) - assert rawtx3['complete'] + assert_equal(rawtx2["complete"], False) + rawtx3 = node2.signrawtransactionwithkey(rawtx, [priv_keys[-1]], prevtxs) + assert_equal(rawtx3["complete"], False) + assert_raises_rpc_error(-22, "TX decode failed", node2.combinerawtransaction, [rawtx2['hex'], rawtx3['hex'] + "00"]) + assert_raises_rpc_error(-22, "Missing transactions", node2.combinerawtransaction, []) + combined_rawtx = node2.combinerawtransaction([rawtx2["hex"], rawtx3["hex"]]) - tx = node0.sendrawtransaction(rawtx3["hex"], 0) + tx = node0.sendrawtransaction(combined_rawtx, 0) blk = self.generate(node0, 1)[0] assert tx in node0.getblock(blk)["tx"] + assert_raises_rpc_error(-25, "Input not found or already spent", node2.combinerawtransaction, [rawtx2['hex'], rawtx3['hex']]) + # When the wallet is enabled, assert node2 sees the incoming amount if self.is_wallet_compiled(): assert_equal(node2.getbalances()['mine']['trusted'], node2_balance + outval)