Skip to content

Commit

Permalink
Fix running individually through test_runner.py, as suggested by @Mar…
Browse files Browse the repository at this point in the history
  • Loading branch information
kristapsk committed Nov 16, 2018
1 parent 3573997 commit 2474de0
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 18 deletions.
23 changes: 6 additions & 17 deletions test/functional/test_framework/test_framework.py
Original file line number Diff line number Diff line change
Expand Up @@ -371,21 +371,6 @@ def sync_all(self, node_groups=None):
sync_blocks(group)
sync_mempools(group)

def enable_mocktime(self):
"""Enable mocktime for the script.
mocktime may be needed for scripts that use the cached version of the
blockchain. If the cached version of the blockchain is used without
mocktime then the mempools will not sync due to IBD.
For backward compatibility of the python scripts with previous
versions of the cache, this helper function sets mocktime to Jan 1,
2014 + (201 * 10 * 60)"""
self.mocktime = 1388534400 + (201 * 10 * 60)

def disable_mocktime(self):
self.mocktime = 0

# Private helper methods. These should not be accessed by the subclass test scripts.

def _start_logging(self):
Expand Down Expand Up @@ -451,14 +436,18 @@ def _initialize_chain(self):
for node in self.nodes:
node.wait_for_rpc_connection()

# For backward compatibility of the python scripts with previous
# versions of the cache, set mocktime to Jan 1,
# 2014 + (201 * 10 * 60)"""
self.mocktime = 1388534400 + (201 * 10 * 60)

# Create a 200-block-long chain; each of the 4 first nodes
# gets 25 mature blocks and 25 immature.
# Note: To preserve compatibility with older versions of
# initialize_chain, only 4 nodes will generate coins.
#
# blocks are created with timestamps 10 minutes apart
# starting from 2010 minutes in the past
self.enable_mocktime()
block_time = self.mocktime - (201 * 10 * 60)
for i in range(2):
for peer in range(4):
Expand All @@ -472,7 +461,7 @@ def _initialize_chain(self):
# Shut them down, and clean up cache directories:
self.stop_nodes()
self.nodes = []
self.disable_mocktime()
self.mocktime = 0

def cache_path(n, *paths):
return os.path.join(get_datadir_path(self.options.cachedir, n), "regtest", *paths)
Expand Down
3 changes: 2 additions & 1 deletion test/functional/wallet_listtransactions.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,13 @@ def tx_from_hex(hexstring):
class ListTransactionsTest(BitcoinTestFramework):
def set_test_params(self):
self.num_nodes = 2
self.enable_mocktime()

def skip_test_if_missing_module(self):
self.skip_if_no_wallet()

def run_test(self):
self.nodes[0].generate(1) # Get out of IBD
self.sync_all()
# Simple send, 0 to 1:
txid = self.nodes[0].sendtoaddress(self.nodes[1].getnewaddress(), 0.1)
self.sync_all()
Expand Down

0 comments on commit 2474de0

Please sign in to comment.