Tests: Add test for getdifficulty
Test added to blockchain.py as adding a new test to reduce test run time.
This commit is contained in:
parent
c91ca0ace9
commit
821dd5e3e1
1 changed files with 13 additions and 1 deletions
|
@ -6,6 +6,10 @@
|
|||
|
||||
Test the following RPCs:
|
||||
- gettxoutsetinfo
|
||||
- getdifficulty
|
||||
- getbestblockhash
|
||||
- getblockhash
|
||||
- getblockheader
|
||||
- verifychain
|
||||
|
||||
Tests correspond to code in rpc/blockchain.cpp.
|
||||
|
@ -40,6 +44,7 @@ class BlockchainTest(BitcoinTestFramework):
|
|||
def run_test(self):
|
||||
self._test_gettxoutsetinfo()
|
||||
self._test_getblockheader()
|
||||
self._test_getdifficulty()
|
||||
self.nodes[0].verifychain(4, 0)
|
||||
|
||||
def _test_gettxoutsetinfo(self):
|
||||
|
@ -57,7 +62,8 @@ class BlockchainTest(BitcoinTestFramework):
|
|||
def _test_getblockheader(self):
|
||||
node = self.nodes[0]
|
||||
|
||||
assert_raises_jsonrpc(-5, "Block not found", node.getblockheader, "nonsense")
|
||||
assert_raises_jsonrpc(-5, "Block not found",
|
||||
node.getblockheader, "nonsense")
|
||||
|
||||
besthash = node.getbestblockhash()
|
||||
secondbesthash = node.getblockhash(199)
|
||||
|
@ -79,5 +85,11 @@ class BlockchainTest(BitcoinTestFramework):
|
|||
assert isinstance(int(header['versionHex'], 16), int)
|
||||
assert isinstance(header['difficulty'], Decimal)
|
||||
|
||||
def _test_getdifficulty(self):
|
||||
difficulty = self.nodes[0].getdifficulty()
|
||||
# 1 hash in 2 should be valid, so difficulty should be 1/2**31
|
||||
# binary => decimal => binary math is why we do this check
|
||||
assert abs(difficulty * 2**31 - 1) < 0.0001
|
||||
|
||||
if __name__ == '__main__':
|
||||
BlockchainTest().main()
|
||||
|
|
Loading…
Reference in a new issue