Skip to content

Commit fa3528a

Browse files
author
MarcoFalke
committed
qa: Fix some tests to work on native windows
1 parent 8a98dfe commit fa3528a

File tree

3 files changed

+19
-12
lines changed

3 files changed

+19
-12
lines changed

test/functional/mempool_persist.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ def run_test(self):
6666

6767
self.log.debug("Stop-start the nodes. Verify that node0 has the transactions in its mempool and node1 does not. Verify that node2 calculates its balance correctly after loading wallet transactions.")
6868
self.stop_nodes()
69-
self.start_node(1) # Give this one a head-start, so we can be "extra-sure" that it didn't load anything later
69+
# Give this node a head-start, so we can be "extra-sure" that it didn't load anything later
70+
# Also don't store the mempool, to keep the datadir clean
71+
self.start_node(1, extra_args=["-persistmempool=0"])
7072
self.start_node(0)
7173
self.start_node(2)
7274
# Give bitcoind a second to reload the mempool

test/functional/test_framework/netutil.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
import sys
1111
import socket
12-
import fcntl
1312
import struct
1413
import array
1514
import os
@@ -90,6 +89,8 @@ def all_interfaces():
9089
'''
9190
Return all interfaces that are up
9291
'''
92+
import fcntl # Linux only, so only import when required
93+
9394
is_64bits = sys.maxsize > 2**32
9495
struct_size = 40 if is_64bits else 32
9596
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

test/functional/wallet_dump.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@
77
import os
88

99
from test_framework.test_framework import BitcoinTestFramework
10-
from test_framework.util import (assert_equal, assert_raises_rpc_error)
10+
from test_framework.util import (
11+
assert_equal,
12+
assert_raises_rpc_error,
13+
)
1114

1215

1316
def read_dump(file_name, addrs, script_addrs, hd_master_addr_old):
@@ -88,7 +91,8 @@ def setup_network(self, split=False):
8891
self.start_nodes()
8992

9093
def run_test (self):
91-
tmpdir = self.options.tmpdir
94+
wallet_unenc_dump = os.path.join(self.nodes[0].datadir, "wallet.unencrypted.dump")
95+
wallet_enc_dump = os.path.join(self.nodes[0].datadir, "wallet.encrypted.dump")
9296

9397
# generate 20 addresses to compare against the dump
9498
# but since we add a p2sh-p2wpkh address for the first pubkey in the
@@ -108,11 +112,11 @@ def run_test (self):
108112
script_addrs = [witness_addr, multisig_addr]
109113

110114
# dump unencrypted wallet
111-
result = self.nodes[0].dumpwallet(tmpdir + "/node0/wallet.unencrypted.dump")
112-
assert_equal(result['filename'], os.path.abspath(tmpdir + "/node0/wallet.unencrypted.dump"))
115+
result = self.nodes[0].dumpwallet(wallet_unenc_dump)
116+
assert_equal(result['filename'], wallet_unenc_dump)
113117

114118
found_addr, found_script_addr, found_addr_chg, found_addr_rsv, hd_master_addr_unenc, witness_addr_ret = \
115-
read_dump(tmpdir + "/node0/wallet.unencrypted.dump", addrs, script_addrs, None)
119+
read_dump(wallet_unenc_dump, addrs, script_addrs, None)
116120
assert_equal(found_addr, test_addr_count) # all keys must be in the dump
117121
assert_equal(found_script_addr, 2) # all scripts must be in the dump
118122
assert_equal(found_addr_chg, 50) # 50 blocks where mined
@@ -125,18 +129,18 @@ def run_test (self):
125129
self.nodes[0].walletpassphrase('test', 10)
126130
# Should be a no-op:
127131
self.nodes[0].keypoolrefill()
128-
self.nodes[0].dumpwallet(tmpdir + "/node0/wallet.encrypted.dump")
132+
self.nodes[0].dumpwallet(wallet_enc_dump)
129133

130134
found_addr, found_script_addr, found_addr_chg, found_addr_rsv, _, witness_addr_ret = \
131-
read_dump(tmpdir + "/node0/wallet.encrypted.dump", addrs, script_addrs, hd_master_addr_unenc)
135+
read_dump(wallet_enc_dump, addrs, script_addrs, hd_master_addr_unenc)
132136
assert_equal(found_addr, test_addr_count)
133137
assert_equal(found_script_addr, 2)
134138
assert_equal(found_addr_chg, 90*2 + 50) # old reserve keys are marked as change now
135139
assert_equal(found_addr_rsv, 90*2)
136140
assert_equal(witness_addr_ret, witness_addr)
137141

138142
# Overwriting should fail
139-
assert_raises_rpc_error(-8, "already exists", self.nodes[0].dumpwallet, tmpdir + "/node0/wallet.unencrypted.dump")
143+
assert_raises_rpc_error(-8, "already exists", lambda: self.nodes[0].dumpwallet(wallet_enc_dump))
140144

141145
# Restart node with new wallet, and test importwallet
142146
self.stop_node(0)
@@ -146,11 +150,11 @@ def run_test (self):
146150
result = self.nodes[0].getaddressinfo(multisig_addr)
147151
assert(result['ismine'] == False)
148152

149-
self.nodes[0].importwallet(os.path.abspath(tmpdir + "/node0/wallet.unencrypted.dump"))
153+
self.nodes[0].importwallet(wallet_unenc_dump)
150154

151155
# Now check IsMine is true
152156
result = self.nodes[0].getaddressinfo(multisig_addr)
153157
assert(result['ismine'] == True)
154158

155159
if __name__ == '__main__':
156-
WalletDumpTest().main ()
160+
WalletDumpTest().main()

0 commit comments

Comments
 (0)