[qa] Test prioritise_transaction / getblocktemplate interaction

This commit is contained in:
Suhas Daftuar 2017-04-18 12:52:08 -04:00 committed by Suhas Daftuar
parent acc2e4bc96
commit 6c2e25caf6

View file

@ -13,8 +13,8 @@ class PrioritiseTransactionTest(BitcoinTestFramework):
def __init__(self): def __init__(self):
super().__init__() super().__init__()
self.setup_clean_chain = True self.setup_clean_chain = True
self.num_nodes = 1 self.num_nodes = 2
self.extra_args = [["-printpriority=1"]] self.extra_args = [["-printpriority=1"], ["-printpriority=1"]]
def run_test(self): def run_test(self):
self.txouts = gen_return_txouts() self.txouts = gen_return_txouts()
@ -115,5 +115,16 @@ class PrioritiseTransactionTest(BitcoinTestFramework):
assert_equal(self.nodes[0].sendrawtransaction(tx_hex), tx_id) assert_equal(self.nodes[0].sendrawtransaction(tx_hex), tx_id)
assert(tx_id in self.nodes[0].getrawmempool()) assert(tx_id in self.nodes[0].getrawmempool())
# Test that calling prioritisetransaction is sufficient to trigger
# getblocktemplate to (eventually) return a new block.
mock_time = int(time.time())
self.nodes[0].setmocktime(mock_time)
template = self.nodes[0].getblocktemplate()
self.nodes[0].prioritisetransaction(tx_id, -int(self.relayfee*COIN))
self.nodes[0].setmocktime(mock_time+10)
new_template = self.nodes[0].getblocktemplate()
assert(template != new_template)
if __name__ == '__main__': if __name__ == '__main__':
PrioritiseTransactionTest().main() PrioritiseTransactionTest().main()