diff --git a/test/functional/mempool_persist.py b/test/functional/mempool_persist.py --- a/test/functional/mempool_persist.py +++ b/test/functional/mempool_persist.py @@ -81,7 +81,8 @@ self.stop_nodes() # Give this one a head-start, so we can be "extra-sure" that it didn't # load anything later - self.start_node(1) + # Also don't store the mempool, to keep the datadir clean + self.start_node(1, extra_args=["-persistmempool=0"]) self.start_node(0) self.start_node(2) wait_until(lambda: self.nodes[0].getmempoolinfo()["loaded"], timeout=1) diff --git a/test/functional/test_framework/netutil.py b/test/functional/test_framework/netutil.py --- a/test/functional/test_framework/netutil.py +++ b/test/functional/test_framework/netutil.py @@ -9,7 +9,6 @@ import array from binascii import unhexlify -import fcntl import os import socket import struct @@ -99,6 +98,9 @@ ''' Return all interfaces that are up ''' + # Linux only, so only import when required + import fcntl + is_64bits = sys.maxsize > 2**32 struct_size = 40 if is_64bits else 32 s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) diff --git a/test/functional/wallet_dump.py b/test/functional/wallet_dump.py --- a/test/functional/wallet_dump.py +++ b/test/functional/wallet_dump.py @@ -7,7 +7,10 @@ import os from test_framework.test_framework import BitcoinTestFramework -from test_framework.util import assert_equal, assert_raises_rpc_error +from test_framework.util import ( + assert_equal, + assert_raises_rpc_error, +) def read_dump(file_name, addrs, script_addrs, hd_master_addr_old): @@ -88,7 +91,10 @@ self.start_nodes() def run_test(self): - tmpdir = self.options.tmpdir + wallet_unenc_dump = os.path.join( + self.nodes[0].datadir, "wallet.unencrypted.dump") + wallet_enc_dump = os.path.join( + self.nodes[0].datadir, "wallet.encrypted.dump") # generate 20 addresses to compare against the dump test_addr_count = 20 @@ -106,14 +112,11 @@ 1, [addrs[0]["address"]])["address"] # dump unencrypted wallet - result = self.nodes[0].dumpwallet( - tmpdir + "/node0/wallet.unencrypted.dump") - assert_equal(result['filename'], os.path.abspath( - tmpdir + "/node0/wallet.unencrypted.dump")) + result = self.nodes[0].dumpwallet(wallet_unenc_dump) + assert_equal(result['filename'], wallet_unenc_dump) found_addr, found_script_addr, found_addr_chg, found_addr_rsv, hd_master_addr_unenc = \ - read_dump(tmpdir + "/node0/wallet.unencrypted.dump", - addrs, [multisig_addr], None) + read_dump(wallet_unenc_dump, addrs, [multisig_addr], None) # all keys must be in the dump assert_equal(found_addr, test_addr_count) # all scripts must be in the dump @@ -128,11 +131,14 @@ self.nodes[0].walletpassphrase('test', 10) # Should be a no-op: self.nodes[0].keypoolrefill() - self.nodes[0].dumpwallet(tmpdir + "/node0/wallet.encrypted.dump") + self.nodes[0].dumpwallet(wallet_enc_dump) found_addr, found_script_addr, found_addr_chg, found_addr_rsv, _ = \ - read_dump(tmpdir + "/node0/wallet.encrypted.dump", - addrs, [multisig_addr], hd_master_addr_unenc) + read_dump( + wallet_enc_dump, + addrs, + [multisig_addr], + hd_master_addr_unenc) assert_equal(found_addr, test_addr_count) assert_equal(found_script_addr, 1) # old reserve keys are marked as change now @@ -140,8 +146,9 @@ assert_equal(found_addr_rsv, 90 * 2) # Overwriting should fail - assert_raises_rpc_error(-8, "already exists", - self.nodes[0].dumpwallet, tmpdir + "/node0/wallet.unencrypted.dump") + assert_raises_rpc_error(-8, + "already exists", + lambda: self.nodes[0].dumpwallet(wallet_enc_dump)) # Restart node with new wallet, and test importwallet self.stop_node(0) @@ -151,8 +158,7 @@ result = self.nodes[0].getaddressinfo(multisig_addr) assert result['ismine'] is False - self.nodes[0].importwallet(os.path.abspath( - tmpdir + "/node0/wallet.unencrypted.dump")) + self.nodes[0].importwallet(wallet_unenc_dump) # Now check IsMine is true result = self.nodes[0].getaddressinfo(multisig_addr)