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
This commit is contained in:
Wladimir J. van der Laan 2017-10-18 16:52:44 +02:00 committed by Alexander Block
parent b155130224
commit f18fa576b9
3 changed files with 9 additions and 4 deletions

View File

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

View File

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

View File

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