aboutsummaryrefslogtreecommitdiff
path: root/qa/rpc-tests/mempool_spendcoinbase.py
diff options
context:
space:
mode:
authorJohn Newbery <john@johnnewbery.com>2017-03-08 15:56:30 -0500
committerJohn Newbery <john@johnnewbery.com>2017-03-20 10:40:31 -0400
commit00902c48cdc5d6a531abfd279fd8e7779cf0a0b8 (patch)
tree41891484a478a7478937fe4a12b63e6c7f31799a /qa/rpc-tests/mempool_spendcoinbase.py
parentd34995a7bac6ed20ce42aa00c6252b900786e649 (diff)
downloadbitcoin-00902c48cdc5d6a531abfd279fd8e7779cf0a0b8.tar.xz
Rename qa directory to test
Diffstat (limited to 'qa/rpc-tests/mempool_spendcoinbase.py')
-rwxr-xr-xqa/rpc-tests/mempool_spendcoinbase.py62
1 files changed, 0 insertions, 62 deletions
diff --git a/qa/rpc-tests/mempool_spendcoinbase.py b/qa/rpc-tests/mempool_spendcoinbase.py
deleted file mode 100755
index f562a93d86..0000000000
--- a/qa/rpc-tests/mempool_spendcoinbase.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/env python3
-# Copyright (c) 2014-2016 The Bitcoin Core developers
-# Distributed under the MIT software license, see the accompanying
-# file COPYING or http://www.opensource.org/licenses/mit-license.php.
-"""Test spending coinbase transactions.
-
-The coinbase transaction in block N can appear in block
-N+100... so is valid in the mempool when the best block
-height is N+99.
-This test makes sure coinbase spends that will be mature
-in the next block are accepted into the memory pool,
-but less mature coinbase spends are NOT.
-"""
-
-from test_framework.test_framework import BitcoinTestFramework
-from test_framework.util import *
-
-# Create one-input, one-output, no-fee transaction:
-class MempoolSpendCoinbaseTest(BitcoinTestFramework):
-
- def __init__(self):
- super().__init__()
- self.num_nodes = 1
- self.setup_clean_chain = False
-
- def setup_network(self):
- # Just need one node for this test
- args = ["-checkmempool"]
- self.nodes = []
- self.nodes.append(start_node(0, self.options.tmpdir, args))
- self.is_network_split = False
-
- def run_test(self):
- chain_height = self.nodes[0].getblockcount()
- assert_equal(chain_height, 200)
- node0_address = self.nodes[0].getnewaddress()
-
- # Coinbase at height chain_height-100+1 ok in mempool, should
- # get mined. Coinbase at height chain_height-100+2 is
- # is too immature to spend.
- b = [ self.nodes[0].getblockhash(n) for n in range(101, 103) ]
- coinbase_txids = [ self.nodes[0].getblock(h)['tx'][0] for h in b ]
- spends_raw = [ create_tx(self.nodes[0], txid, node0_address, 49.99) for txid in coinbase_txids ]
-
- spend_101_id = self.nodes[0].sendrawtransaction(spends_raw[0])
-
- # coinbase at height 102 should be too immature to spend
- assert_raises_jsonrpc(-26,"bad-txns-premature-spend-of-coinbase", self.nodes[0].sendrawtransaction, spends_raw[1])
-
- # mempool should have just spend_101:
- assert_equal(self.nodes[0].getrawmempool(), [ spend_101_id ])
-
- # mine a block, spend_101 should get confirmed
- self.nodes[0].generate(1)
- assert_equal(set(self.nodes[0].getrawmempool()), set())
-
- # ... and now height 102 can be spent:
- spend_102_id = self.nodes[0].sendrawtransaction(spends_raw[1])
- assert_equal(self.nodes[0].getrawmempool(), [ spend_102_id ])
-
-if __name__ == '__main__':
- MempoolSpendCoinbaseTest().main()