@@ -197,8 +197,9 @@ def run_test (self):
197
197
self .nodes [1 ].sendrawtransaction (txObjNotBroadcasted ['hex' ])
198
198
self .nodes [1 ].generate (1 )
199
199
self .sync_all ()
200
+ node_2_bal += 2
200
201
txObjNotBroadcasted = self .nodes [0 ].gettransaction (txIdNotBroadcasted )
201
- assert_equal (self .nodes [2 ].getbalance (), node_2_bal + Decimal ( '2' )) #should not be
202
+ assert_equal (self .nodes [2 ].getbalance (), node_2_bal )
202
203
203
204
#create another tx
204
205
txIdNotBroadcasted = self .nodes [0 ].sendtoaddress (self .nodes [2 ].getnewaddress (), 2 )
@@ -214,9 +215,10 @@ def run_test (self):
214
215
215
216
self .nodes [0 ].generate (1 )
216
217
sync_blocks (self .nodes )
218
+ node_2_bal += 2
217
219
218
220
#tx should be added to balance because after restarting the nodes tx should be broadcastet
219
- assert_equal (self .nodes [2 ].getbalance (), node_2_bal + Decimal ( '4' )) #should not be
221
+ assert_equal (self .nodes [2 ].getbalance (), node_2_bal )
220
222
221
223
#send a tx with value in a string (PR#6380 +)
222
224
txId = self .nodes [0 ].sendtoaddress (self .nodes [2 ].getnewaddress (), "2" )
@@ -249,6 +251,29 @@ def run_test (self):
249
251
250
252
assert_equal ("not an integer" in errorString , True )
251
253
254
+ #check if wallet or blochchain maintenance changes the balance
255
+ self .sync_all ()
256
+ self .nodes [0 ].generate (1 )
257
+ self .sync_all ()
258
+ balance_nodes = [self .nodes [i ].getbalance () for i in range (3 )]
259
+
260
+ maintenance = [
261
+ '-rescan' ,
262
+ '-reindex' ,
263
+ '-zapwallettxes=1' ,
264
+ '-zapwallettxes=2' ,
265
+ '-salvagewallet' ,
266
+ ]
267
+ for m in maintenance :
268
+ stop_nodes (self .nodes )
269
+ wait_bitcoinds ()
270
+ self .nodes = start_nodes (3 , self .options .tmpdir , [[m ]] * 3 )
271
+ connect_nodes_bi (self .nodes ,0 ,1 )
272
+ connect_nodes_bi (self .nodes ,1 ,2 )
273
+ connect_nodes_bi (self .nodes ,0 ,2 )
274
+ self .sync_all ()
275
+ assert_equal (balance_nodes , [self .nodes [i ].getbalance () for i in range (3 )])
276
+
252
277
253
278
if __name__ == '__main__' :
254
279
WalletTest ().main ()
0 commit comments