Browse Source

Merge #11472: qa: Make tmpdir option an absolute path, misc cleanup

fafa003 qa: Remove never used return value of sync_with_ping (MarcoFalke)
fa9de37 qa: Make tmpdir option an absolute path (MarcoFalke)

Pull request description:

  This should fix issues with the multiwallet test and its symlinks
  when the tmpdir is a relative path.

  Rather than fixing os.symlink to work with paths relative to a
  directory descriptor, which does not work on Windows, normalize
  the path instead.

Tree-SHA512: 189690f3d065ea2f0f48e06775c86d513d0916c7c86312432e8e16df160e65539e288c2bd53d49a4180735fa940f6fcd52b506ccd7d9815651a9b1a69850dda6
0.16
Wladimir J. van der Laan 7 years ago
parent
commit
6759a24eaa
No known key found for this signature in database
GPG Key ID: 1E4AED62986CD25D
  1. 9
      test/functional/p2p-acceptblock.py
  2. 1
      test/functional/test_framework/mininode.py
  3. 3
      test/functional/test_framework/test_framework.py

9
test/functional/p2p-acceptblock.py

@ -103,7 +103,8 @@ class AcceptBlockTest(BitcoinTestFramework): @@ -103,7 +103,8 @@ class AcceptBlockTest(BitcoinTestFramework):
test_node.send_message(msg_block(blocks_h2[0]))
white_node.send_message(msg_block(blocks_h2[1]))
[ x.sync_with_ping() for x in [test_node, white_node] ]
for x in [test_node, white_node]:
x.sync_with_ping()
assert_equal(self.nodes[0].getblockcount(), 2)
assert_equal(self.nodes[1].getblockcount(), 2)
self.log.info("First height 2 block accepted by both nodes")
@ -116,7 +117,8 @@ class AcceptBlockTest(BitcoinTestFramework): @@ -116,7 +117,8 @@ class AcceptBlockTest(BitcoinTestFramework):
test_node.send_message(msg_block(blocks_h2f[0]))
white_node.send_message(msg_block(blocks_h2f[1]))
[ x.sync_with_ping() for x in [test_node, white_node] ]
for x in [test_node, white_node]:
x.sync_with_ping()
for x in self.nodes[0].getchaintips():
if x['hash'] == blocks_h2f[0].hash:
assert_equal(x['status'], "headers-only")
@ -135,7 +137,8 @@ class AcceptBlockTest(BitcoinTestFramework): @@ -135,7 +137,8 @@ class AcceptBlockTest(BitcoinTestFramework):
test_node.send_message(msg_block(blocks_h3[0]))
white_node.send_message(msg_block(blocks_h3[1]))
[ x.sync_with_ping() for x in [test_node, white_node] ]
for x in [test_node, white_node]:
x.sync_with_ping()
# Since the earlier block was not processed by node0, the new block
# can't be fully validated.
for x in self.nodes[0].getchaintips():

1
test/functional/test_framework/mininode.py

@ -1615,7 +1615,6 @@ class NodeConnCB(): @@ -1615,7 +1615,6 @@ class NodeConnCB():
test_function = lambda: self.last_message.get("pong") and self.last_message["pong"].nonce == self.ping_counter
wait_until(test_function, timeout=timeout, lock=mininode_lock)
self.ping_counter += 1
return True
# The actual NodeConn class
# This class provides an interface for a p2p connection to a specified node

3
test/functional/test_framework/test_framework.py

@ -102,8 +102,11 @@ class BitcoinTestFramework(): @@ -102,8 +102,11 @@ class BitcoinTestFramework():
check_json_precision()
self.options.cachedir = os.path.abspath(self.options.cachedir)
# Set up temp directory and start logging
if self.options.tmpdir:
self.options.tmpdir = os.path.abspath(self.options.tmpdir)
os.makedirs(self.options.tmpdir, exist_ok=False)
else:
self.options.tmpdir = tempfile.mkdtemp(prefix="test")

Loading…
Cancel
Save