|
|
|
@ -33,9 +33,10 @@ from test_framework.util import (
@@ -33,9 +33,10 @@ from test_framework.util import (
|
|
|
|
|
class BlockchainTest(BitcoinTestFramework): |
|
|
|
|
def set_test_params(self): |
|
|
|
|
self.num_nodes = 1 |
|
|
|
|
self.extra_args = [['-stopatheight=207']] |
|
|
|
|
self.extra_args = [['-stopatheight=207', '-prune=1']] |
|
|
|
|
|
|
|
|
|
def run_test(self): |
|
|
|
|
self._test_getblockchaininfo() |
|
|
|
|
self._test_getchaintxstats() |
|
|
|
|
self._test_gettxoutsetinfo() |
|
|
|
|
self._test_getblockheader() |
|
|
|
@ -44,6 +45,33 @@ class BlockchainTest(BitcoinTestFramework):
@@ -44,6 +45,33 @@ class BlockchainTest(BitcoinTestFramework):
|
|
|
|
|
self._test_stopatheight() |
|
|
|
|
assert self.nodes[0].verifychain(4, 0) |
|
|
|
|
|
|
|
|
|
def _test_getblockchaininfo(self): |
|
|
|
|
self.log.info("Test getblockchaininfo") |
|
|
|
|
|
|
|
|
|
keys = [ |
|
|
|
|
'bestblockhash', |
|
|
|
|
'bip9_softforks', |
|
|
|
|
'blocks', |
|
|
|
|
'chain', |
|
|
|
|
'chainwork', |
|
|
|
|
'difficulty', |
|
|
|
|
'headers', |
|
|
|
|
'mediantime', |
|
|
|
|
'pruned', |
|
|
|
|
'softforks', |
|
|
|
|
'verificationprogress', |
|
|
|
|
] |
|
|
|
|
res = self.nodes[0].getblockchaininfo() |
|
|
|
|
# result should have pruneheight and default keys if pruning is enabled |
|
|
|
|
assert_equal(sorted(res.keys()), sorted(['pruneheight'] + keys)) |
|
|
|
|
# pruneheight should be greater or equal to 0 |
|
|
|
|
assert res['pruneheight'] >= 0 |
|
|
|
|
|
|
|
|
|
self.restart_node(0, ['-stopatheight=207']) |
|
|
|
|
res = self.nodes[0].getblockchaininfo() |
|
|
|
|
# should have exact keys |
|
|
|
|
assert_equal(sorted(res.keys()), keys) |
|
|
|
|
|
|
|
|
|
def _test_getchaintxstats(self): |
|
|
|
|
chaintxstats = self.nodes[0].getchaintxstats(1) |
|
|
|
|
# 200 txs plus genesis tx |
|
|
|
|