Skip to content

Commit ed3f590

Browse files
authored
Merge pull request #405 from djksa/fixed-rpc-tests
Fixed rpc tests
2 parents a1fc1fa + 6836e50 commit ed3f590

19 files changed

+320
-99
lines changed

qa/pull-tester/rpc-tests.py

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -105,35 +105,37 @@
105105
# 'p2p-fullblocktest.py',
106106
# 'walletbackup.py',
107107
# 'bip68-112-113-p2p.py',
108-
# 'wallet.py',
109-
# 'wallet-hd.py',
108+
109+
'wallet.py',
110+
'wallet-hd.py',
111+
110112
# 'listtransactions.py',
111-
# 'receivedby.py',
113+
'receivedby.py',
112114
# 'mempool_resurrect_test.py',
113115
# 'txn_doublespend.py --mineblock',
114116
# 'txn_clone.py',
115-
# 'getchaintips.py',
116-
# 'rawtransactions.py',
117-
# 'rest.py',
118-
# 'mempool_spendcoinbase.py',
117+
'getchaintips.py',
118+
'rawtransactions.py',
119+
'rest.py',
120+
'mempool_spendcoinbase.py',
119121
# 'mempool_reorg.py',
120122
# 'mempool_limit.py',
121-
# 'httpbasics.py',
122-
# 'multi_rpc.py',
123-
# 'zapwallettxes.py',
123+
'httpbasics.py',
124+
'multi_rpc.py',
125+
'zapwallettxes.py',
124126
# 'proxy_test.py',
125-
# 'merkle_blocks.py',
127+
'merkle_blocks.py',
126128
# 'fundrawtransaction.py',
127129
# 'signrawtransactions.py',
128-
# 'nodehandling.py',
129-
# 'reindex.py',
130+
'nodehandling.py',
131+
'reindex.py',
130132
# 'addressindex.py',
131-
# 'timestampindex.py',
133+
'timestampindex.py',
132134
# 'spentindex.py',
133135
# 'txindex.py',
134136
# 'decodescript.py',
135137
# 'blockchain.py',
136-
# 'disablewallet.py',
138+
'disablewallet.py',
137139
# 'sendheaders.py',
138140
# 'keypool.py',
139141
# 'prioritise_transaction.py',
@@ -143,8 +145,8 @@
143145
# 'p2p-versionbits-warning.py',
144146
# 'p2p-segwit.py',
145147
# 'segwit.py',
146-
# 'importprunedfunds.py',
147-
# 'signmessages.py',
148+
'importprunedfunds.py',
149+
'signmessages.py',
148150
'cfund-donate.py',
149151
'cfund-listproposals.py',
150152
'cfund-paymentrequest-extract-funds.py',
@@ -167,6 +169,9 @@
167169
'staticr-staking-amount.py',
168170
'hardfork-451.py',
169171
'staticr-tx-send.py',
172+
173+
'sendtoaddress.py',
174+
'stakeimmaturebalance.py',
170175
'rpc-help.py',
171176
]
172177
#if ENABLE_ZMQ:

qa/rpc-tests/getchaintips.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,17 @@
88
# This gives us two tips, verify that it works.
99

1010
from test_framework.test_framework import NavCoinTestFramework
11-
from test_framework.util import assert_equal
11+
from test_framework.util import assert_equal, slow_gen
1212

1313
class GetChainTipsTest (NavCoinTestFramework):
1414
def __init__(self):
1515
super().__init__()
1616
self.num_nodes = 4
17-
self.setup_clean_chain = False
17+
self.setup_clean_chain = True
1818

1919
def run_test (self):
20+
slow_gen(self.nodes[0], 200)
21+
self.sync_all()
2022

2123
tips = self.nodes[0].getchaintips ()
2224
assert_equal (len (tips), 1)
@@ -26,8 +28,8 @@ def run_test (self):
2628

2729
# Split the network and build two chains of different lengths.
2830
self.split_network ()
29-
self.nodes[0].generate(10)
30-
self.nodes[2].generate(20)
31+
slow_gen(self.nodes[0], 10)
32+
slow_gen(self.nodes[2], 20)
3133
self.sync_all ()
3234

3335
tips = self.nodes[1].getchaintips ()

qa/rpc-tests/httpbasics.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class HTTPBasicsTest (NavCoinTestFramework):
1717
def __init__(self):
1818
super().__init__()
1919
self.num_nodes = 3
20-
self.setup_clean_chain = False
20+
self.setup_clean_chain = True
2121

2222
def setup_network(self):
2323
self.nodes = self.setup_nodes()

qa/rpc-tests/importprunedfunds.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def run_test (self):
2525
begintime = int(time.time())
2626

2727
print("Mining blocks...")
28-
self.nodes[0].generate(101)
28+
slow_gen(self.nodes[0], 101)
2929

3030
# sync
3131
self.sync_all()
@@ -63,18 +63,18 @@ def run_test (self):
6363

6464
#Send funds to self
6565
txnid1 = self.nodes[0].sendtoaddress(address1, 0.1)
66-
self.nodes[0].generate(1)
66+
slow_gen(self.nodes[0], 1)
6767
rawtxn1 = self.nodes[0].gettransaction(txnid1)['hex']
6868
proof1 = self.nodes[0].gettxoutproof([txnid1])
6969

7070
txnid2 = self.nodes[0].sendtoaddress(address2, 0.05)
71-
self.nodes[0].generate(1)
71+
slow_gen(self.nodes[0], 1)
7272
rawtxn2 = self.nodes[0].gettransaction(txnid2)['hex']
7373
proof2 = self.nodes[0].gettxoutproof([txnid2])
7474

7575

7676
txnid3 = self.nodes[0].sendtoaddress(address3, 0.025)
77-
self.nodes[0].generate(1)
77+
slow_gen(self.nodes[0], 1)
7878
rawtxn3 = self.nodes[0].gettransaction(txnid3)['hex']
7979
proof3 = self.nodes[0].gettxoutproof([txnid3])
8080

qa/rpc-tests/mempool_spendcoinbase.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ class MempoolSpendCoinbaseTest(NavCoinTestFramework):
2222
def __init__(self):
2323
super().__init__()
2424
self.num_nodes = 1
25-
self.setup_clean_chain = False
25+
self.setup_clean_chain = True
2626

2727
def setup_network(self):
2828
# Just need one node for this test
@@ -32,32 +32,33 @@ def setup_network(self):
3232
self.is_network_split = False
3333

3434
def run_test(self):
35+
slow_gen(self.nodes[0], 200)
3536
chain_height = self.nodes[0].getblockcount()
3637
assert_equal(chain_height, 200)
3738
node0_address = self.nodes[0].getnewaddress()
3839

39-
# Coinbase at height chain_height-100+1 ok in mempool, should
40-
# get mined. Coinbase at height chain_height-100+2 is
40+
# Coinbase at height chain_height-150+1 ok in mempool, should
41+
# get mined. Coinbase at height chain_height-150+2 is
4142
# is too immature to spend.
42-
b = [ self.nodes[0].getblockhash(n) for n in range(101, 103) ]
43+
b = [ self.nodes[0].getblockhash(n) for n in range(151, 153) ]
4344
coinbase_txids = [ self.nodes[0].getblock(h)['tx'][0] for h in b ]
4445
spends_raw = [ create_tx(self.nodes[0], txid, node0_address, 49.99) for txid in coinbase_txids ]
4546

46-
spend_101_id = self.nodes[0].sendrawtransaction(spends_raw[0])
47+
spend_151_id = self.nodes[0].sendrawtransaction(spends_raw[0])
4748

48-
# coinbase at height 102 should be too immature to spend
49+
# coinbase at height 152 should be too immature to spend
4950
assert_raises(JSONRPCException, self.nodes[0].sendrawtransaction, spends_raw[1])
5051

51-
# mempool should have just spend_101:
52-
assert_equal(self.nodes[0].getrawmempool(), [ spend_101_id ])
52+
# mempool should have just spend_151:
53+
assert_equal(self.nodes[0].getrawmempool(), [ spend_151_id ])
5354

54-
# mine a block, spend_101 should get confirmed
55-
self.nodes[0].generate(1)
55+
# mine a block, spend_151 should get confirmed
56+
slow_gen(self.nodes[0], 1)
5657
assert_equal(set(self.nodes[0].getrawmempool()), set())
5758

58-
# ... and now height 102 can be spent:
59-
spend_102_id = self.nodes[0].sendrawtransaction(spends_raw[1])
60-
assert_equal(self.nodes[0].getrawmempool(), [ spend_102_id ])
59+
# ... and now height 152 can be spent:
60+
spend_152_id = self.nodes[0].sendrawtransaction(spends_raw[1])
61+
assert_equal(self.nodes[0].getrawmempool(), [ spend_152_id ])
6162

6263
if __name__ == '__main__':
6364
MempoolSpendCoinbaseTest().main()

qa/rpc-tests/merkle_blocks.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,8 @@ def setup_network(self):
3434

3535
def run_test(self):
3636
print("Mining blocks...")
37-
self.nodes[0].generate(105)
37+
slow_gen(self.nodes[0], 105)
3838
self.sync_all()
39-
4039
chain_height = self.nodes[1].getblockcount()
4140
assert_equal(chain_height, 105)
4241
assert_equal(self.nodes[1].getbalance(), 0)
@@ -49,7 +48,7 @@ def run_test(self):
4948
txid2 = self.nodes[0].sendrawtransaction(self.nodes[0].signrawtransaction(tx2)["hex"])
5049
assert_raises(JSONRPCException, self.nodes[0].gettxoutproof, [txid1])
5150

52-
self.nodes[0].generate(1)
51+
slow_gen(self.nodes[0], 1)
5352
blockhash = self.nodes[0].getblockhash(chain_height + 1)
5453
self.sync_all()
5554

@@ -65,9 +64,8 @@ def run_test(self):
6564
txin_spent = self.nodes[1].listunspent(1).pop()
6665
tx3 = self.nodes[1].createrawtransaction([txin_spent], {self.nodes[0].getnewaddress(): 49.98})
6766
self.nodes[0].sendrawtransaction(self.nodes[1].signrawtransaction(tx3)["hex"])
68-
self.nodes[0].generate(1)
67+
slow_gen(self.nodes[0], 1)
6968
self.sync_all()
70-
7169
txid_spent = txin_spent["txid"]
7270
txid_unspent = txid1 if txin_spent["txid"] != txid1 else txid2
7371

@@ -86,3 +84,4 @@ def run_test(self):
8684

8785
if __name__ == '__main__':
8886
MerkleBlockTest().main()
87+

qa/rpc-tests/multi_rpc.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class HTTPBasicsTest (NavCoinTestFramework):
1818

1919
def __init__(self):
2020
super().__init__()
21-
self.setup_clean_chain = False
21+
self.setup_clean_chain = True
2222
self.num_nodes = 1
2323

2424
def setup_chain(self):

qa/rpc-tests/nodehandling.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class NodeHandlingTest (NavCoinTestFramework):
1818
def __init__(self):
1919
super().__init__()
2020
self.num_nodes = 4
21-
self.setup_clean_chain = False
21+
self.setup_clean_chain = True
2222

2323
def run_test(self):
2424
###########################

qa/rpc-tests/rawtransactions.py

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,20 @@ def setup_network(self, split=False):
3838
def run_test(self):
3939

4040
#prepare some coins for multiple *rawtransaction commands
41-
self.nodes[2].generate(1)
41+
slow_gen(self.nodes[2], 1)
4242
self.sync_all()
43-
self.nodes[0].generate(101)
43+
slow_gen(self.nodes[0], 101)
4444
self.sync_all()
4545
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(),1.5)
4646
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(),1.0)
4747
self.nodes[0].sendtoaddress(self.nodes[2].getnewaddress(),5.0)
4848
self.sync_all()
49-
self.nodes[0].generate(5)
49+
slow_gen(self.nodes[0], 5)
5050
self.sync_all()
5151

52-
#########################################
5352
# sendrawtransaction with missing input #
5453
#########################################
55-
inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1}] #won't exists
54+
inputs = [ {'txid' : "3160bbeb3bdd39520dfb3538ce94c7073d8f987e8f1fc3b97acdf2238136c35f", 'vout' : 1}] #won't exist
5655
outputs = { self.nodes[0].getnewaddress() : 4.998 }
5756
rawtx = self.nodes[2].createrawtransaction(inputs, outputs)
5857
rawtx = self.nodes[2].signrawtransaction(rawtx)
@@ -84,7 +83,7 @@ def run_test(self):
8483
# send 1.2 NAV to msig adr
8584
txId = self.nodes[0].sendtoaddress(mSigObj, 1.2)
8685
self.sync_all()
87-
self.nodes[0].generate(1)
86+
slow_gen(self.nodes[0], 1)
8887
self.sync_all()
8988
assert_equal(self.nodes[2].getbalance(), bal+Decimal('1.20000000')) #node2 has both keys of the 2of2 ms addr., tx should affect the balance
9089

@@ -107,7 +106,7 @@ def run_test(self):
107106
rawTx = self.nodes[0].decoderawtransaction(decTx['hex'])
108107
sPK = rawTx['vout'][0]['scriptPubKey']['hex']
109108
self.sync_all()
110-
self.nodes[0].generate(1)
109+
slow_gen(self.nodes[0], 1)
111110
self.sync_all()
112111

113112
#THIS IS A INCOMPLETE FEATURE
@@ -134,25 +133,24 @@ def run_test(self):
134133
self.nodes[2].sendrawtransaction(rawTxSigned['hex'])
135134
rawTx = self.nodes[0].decoderawtransaction(rawTxSigned['hex'])
136135
self.sync_all()
137-
self.nodes[0].generate(1)
136+
slow_gen(self.nodes[0], 1)
138137
self.sync_all()
139138
assert_equal(self.nodes[0].getbalance(), bal+Decimal('50.00000000')+Decimal('2.19000000')) #block reward + tx
140-
141-
inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1, 'sequence' : 1000}]
139+
inputs = [ {'txid' : "3160bbeb3bdd39520dfb3538ce94c7073d8f987e8f1fc3b97acdf2238136c35f", 'vout' : 1, 'sequence' : 1000}]
142140
outputs = { self.nodes[0].getnewaddress() : 1 }
143141
rawtx = self.nodes[0].createrawtransaction(inputs, outputs)
144142
decrawtx= self.nodes[0].decoderawtransaction(rawtx)
145143
assert_equal(decrawtx['vin'][0]['sequence'], 1000)
146144

147-
inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1, 'sequence' : -1}]
145+
inputs = [ {'txid' : "3160bbeb3bdd39520dfb3538ce94c7073d8f987e8f1fc3b97acdf2238136c35f", 'vout' : 1, 'sequence' : -1}]
148146
outputs = { self.nodes[0].getnewaddress() : 1 }
149147
assert_raises(JSONRPCException, self.nodes[0].createrawtransaction, inputs, outputs)
150148

151-
inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1, 'sequence' : 4294967296}]
149+
inputs = [ {'txid' : "3160bbeb3bdd39520dfb3538ce94c7073d8f987e8f1fc3b97acdf2238136c35f", 'vout' : 1, 'sequence' : 4294967296}]
152150
outputs = { self.nodes[0].getnewaddress() : 1 }
153151
assert_raises(JSONRPCException, self.nodes[0].createrawtransaction, inputs, outputs)
154152

155-
inputs = [ {'txid' : "1d1d4e24ed99057e84c3f80fd8fbec79ed9e1acee37da269356ecea000000000", 'vout' : 1, 'sequence' : 4294967294}]
153+
inputs = [ {'txid' : "3160bbeb3bdd39520dfb3538ce94c7073d8f987e8f1fc3b97acdf2238136c35f", 'vout' : 1, 'sequence' : 4294967294}]
156154
outputs = { self.nodes[0].getnewaddress() : 1 }
157155
rawtx = self.nodes[0].createrawtransaction(inputs, outputs)
158156
decrawtx= self.nodes[0].decoderawtransaction(rawtx)

0 commit comments

Comments
 (0)