Changeset View
Changeset View
Standalone View
Standalone View
test/functional/wallet_basic.py
Show All 19 Lines | from test_framework.util import ( | ||||
wait_until, | wait_until, | ||||
) | ) | ||||
class WalletTest(BitcoinTestFramework): | class WalletTest(BitcoinTestFramework): | ||||
def set_test_params(self): | def set_test_params(self): | ||||
self.num_nodes = 4 | self.num_nodes = 4 | ||||
self.setup_clean_chain = True | self.setup_clean_chain = True | ||||
self.extra_args = [['-deprecatedrpc=accounts']] * 4 | |||||
def setup_network(self): | def setup_network(self): | ||||
self.add_nodes(4) | self.add_nodes(4, self.extra_args) | ||||
self.start_node(0) | self.start_node(0) | ||||
self.start_node(1) | self.start_node(1) | ||||
self.start_node(2) | self.start_node(2) | ||||
connect_nodes_bi(self.nodes[0], self.nodes[1]) | connect_nodes_bi(self.nodes[0], self.nodes[1]) | ||||
connect_nodes_bi(self.nodes[1], self.nodes[2]) | connect_nodes_bi(self.nodes[1], self.nodes[2]) | ||||
connect_nodes_bi(self.nodes[0], self.nodes[2]) | connect_nodes_bi(self.nodes[0], self.nodes[2]) | ||||
self.sync_all([self.nodes[0:3]]) | self.sync_all([self.nodes[0:3]]) | ||||
▲ Show 20 Lines • Show All 371 Lines • ▼ Show 20 Lines | def run_test(self): | ||||
# disabled until issue is fixed: https://github.com/bitcoin/bitcoin/issues/7463 | # disabled until issue is fixed: https://github.com/bitcoin/bitcoin/issues/7463 | ||||
# '-salvagewallet', | # '-salvagewallet', | ||||
] | ] | ||||
chainlimit = 6 | chainlimit = 6 | ||||
for m in maintenance: | for m in maintenance: | ||||
self.log.info("check " + m) | self.log.info("check " + m) | ||||
self.stop_nodes() | self.stop_nodes() | ||||
# set lower ancestor limit for later | # set lower ancestor limit for later | ||||
self.start_node(0, [m, "-limitancestorcount=" + str(chainlimit)]) | self.start_node(0, [m, "-deprecatedrpc=accounts", | ||||
self.start_node(1, [m, "-limitancestorcount=" + str(chainlimit)]) | "-limitancestorcount=" + str(chainlimit)]) | ||||
self.start_node(2, [m, "-limitancestorcount=" + str(chainlimit)]) | self.start_node(1, [m, "-deprecatedrpc=accounts", | ||||
"-limitancestorcount=" + str(chainlimit)]) | |||||
self.start_node(2, [m, "-deprecatedrpc=accounts", | |||||
"-limitancestorcount=" + str(chainlimit)]) | |||||
if m == '-reindex': | if m == '-reindex': | ||||
# reindex will leave rpc warm up "early"; Wait for it to finish | # reindex will leave rpc warm up "early"; Wait for it to finish | ||||
wait_until(lambda: [block_count] * 3 == | wait_until(lambda: [block_count] * 3 == | ||||
[self.nodes[i].getblockcount() for i in range(3)]) | [self.nodes[i].getblockcount() for i in range(3)]) | ||||
assert_equal(balance_nodes, [ | assert_equal(balance_nodes, [ | ||||
self.nodes[i].getbalance() for i in range(3)]) | self.nodes[i].getbalance() for i in range(3)]) | ||||
# Exercise listsinceblock with the last two blocks | # Exercise listsinceblock with the last two blocks | ||||
▲ Show 20 Lines • Show All 41 Lines • ▼ Show 20 Lines | def run_test(self): | ||||
for tx in self.nodes[0].listtransactions()] | for tx in self.nodes[0].listtransactions()] | ||||
self.nodes[0].abandontransaction(extra_txid) | self.nodes[0].abandontransaction(extra_txid) | ||||
total_txs = len(self.nodes[0].listtransactions("*", 99999)) | total_txs = len(self.nodes[0].listtransactions("*", 99999)) | ||||
# Try with walletrejectlongchains | # Try with walletrejectlongchains | ||||
# Double chain limit but require combining inputs, so we pass SelectCoinsMinConf | # Double chain limit but require combining inputs, so we pass SelectCoinsMinConf | ||||
self.stop_node(0) | self.stop_node(0) | ||||
self.start_node(0, extra_args=[ | self.start_node(0, extra_args=[ | ||||
"-walletrejectlongchains", "-limitancestorcount=" + str(2 * chainlimit)]) | "-deprecatedrpc=accounts", "-walletrejectlongchains", "-limitancestorcount=" + str(2 * chainlimit)]) | ||||
# wait for loadmempool | # wait for loadmempool | ||||
timeout = 10 | timeout = 10 | ||||
while (timeout > 0 and len(self.nodes[0].getrawmempool()) < chainlimit * 2): | while (timeout > 0 and len(self.nodes[0].getrawmempool()) < chainlimit * 2): | ||||
time.sleep(0.5) | time.sleep(0.5) | ||||
timeout -= 0.5 | timeout -= 0.5 | ||||
assert_equal(len(self.nodes[0].getrawmempool()), chainlimit * 2) | assert_equal(len(self.nodes[0].getrawmempool()), chainlimit * 2) | ||||
Show All 25 Lines |