diff options
author | MarcoFalke <falke.marco@gmail.com> | 2021-02-16 17:48:01 +0100 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2021-02-16 17:47:55 +0100 |
commit | faa137eb9eac5554504b062a6dc865ca87fd572b (patch) | |
tree | 92fa04f755b2a1263fcd09cfc3c5d9ab557a39cf /test | |
parent | fa1fe80c757df0adcbfaf41b5c5c8a468bc07b6f (diff) |
test: Speed up rpc_blockchain.py by removing miniwallet.generate()
Diffstat (limited to 'test')
-rwxr-xr-x | test/functional/rpc_blockchain.py | 3 | ||||
-rw-r--r-- | test/functional/test_framework/wallet.py | 9 |
2 files changed, 10 insertions, 2 deletions
diff --git a/test/functional/rpc_blockchain.py b/test/functional/rpc_blockchain.py index cba464969e..727698cb67 100755 --- a/test/functional/rpc_blockchain.py +++ b/test/functional/rpc_blockchain.py @@ -384,8 +384,7 @@ class BlockchainTest(BitcoinTestFramework): node = self.nodes[0] miniwallet = MiniWallet(node) - miniwallet.generate(5) - node.generate(100) + miniwallet.scan_blocks(num=5) fee_per_byte = Decimal('0.00000010') fee_per_kb = 1000 * fee_per_byte diff --git a/test/functional/test_framework/wallet.py b/test/functional/test_framework/wallet.py index edd7792608..38fbf3c1a6 100644 --- a/test/functional/test_framework/wallet.py +++ b/test/functional/test_framework/wallet.py @@ -32,6 +32,15 @@ class MiniWallet: self._address = ADDRESS_BCRT1_P2WSH_OP_TRUE self._scriptPubKey = hex_str_to_bytes(self._test_node.validateaddress(self._address)['scriptPubKey']) + def scan_blocks(self, *, start=1, num): + """Scan the blocks for self._address outputs and add them to self._utxos""" + for i in range(start, start + num): + block = self._test_node.getblock(blockhash=self._test_node.getblockhash(i), verbosity=2) + for tx in block['tx']: + for out in tx['vout']: + if out['scriptPubKey']['hex'] == self._scriptPubKey.hex(): + self._utxos.append({'txid': tx['txid'], 'vout': out['n'], 'value': out['value']}) + def generate(self, num_blocks): """Generate blocks with coinbase outputs to the internal address, and append the outputs to the internal list""" blocks = self._test_node.generatetoaddress(num_blocks, self._address) |