From 7ac3c4edc037f690b2df5d0c693a5d7d28cdcf81 Mon Sep 17 00:00:00 2001 From: Marcin Sobczyk <msobczyk@syncad.com> Date: Thu, 25 Nov 2021 17:42:55 +0100 Subject: [PATCH] update test-tools --- hive | 2 +- tests/integration/system/haf/local_tools.py | 25 +++++-------------- .../system/haf/test_event_massive_sync.py | 6 ++--- 3 files changed, 10 insertions(+), 23 deletions(-) diff --git a/hive b/hive index e266447c6..9e0f071ea 160000 --- a/hive +++ b/hive @@ -1 +1 @@ -Subproject commit e266447c601c89f16a94cea69b4ca59249811897 +Subproject commit 9e0f071eae283cdb98fcb3af5277d3889b9c4495 diff --git a/tests/integration/system/haf/local_tools.py b/tests/integration/system/haf/local_tools.py index 46a845491..d553732ab 100644 --- a/tests/integration/system/haf/local_tools.py +++ b/tests/integration/system/haf/local_tools.py @@ -101,36 +101,23 @@ def get_irreversible_block(node): return irreversible_block_num -def get_time_offset_from_file(name): +def get_timestamp_from_file(name): timestamp = '' with open(name, 'r') as f: timestamp = f.read() timestamp = timestamp.strip() - current_time = datetime.now(timezone.utc) - new_time = datetime.strptime(timestamp, '%Y-%m-%dT%H:%M:%S').replace(tzinfo=timezone.utc) - difference = round(new_time.timestamp()-current_time.timestamp()) - 10 # circa 10 seconds is needed for nodes to startup - time_offset = str(difference) + 's' - return time_offset + return timestamp def run_networks(world, blocklog_directory): - time_offset = get_time_offset_from_file(blocklog_directory/'timestamp') + timestamp = '' + with open(blocklog_directory/'timestamp', 'r') as f: + timestamp = f.read() block_log = BlockLog(None, blocklog_directory/'block_log', include_index=False) logger.info('Running nodes...') - - nodes = world.nodes() - nodes[0].run(wait_for_live=False, replay_from=block_log, time_offset=time_offset) - endpoint = nodes[0].get_p2p_endpoint() - for node in nodes[1:]: - node.config.p2p_seed_node.append(endpoint) - node.run(wait_for_live=False, replay_from=block_log, time_offset=time_offset) - - for network in world.networks(): - network.is_running = True - for node in nodes: - node.wait_for_live() + world.run_all_nodes(block_log, timestamp=timestamp, speedup=3, wait_for_live=True) def create_node_with_database(network, url): diff --git a/tests/integration/system/haf/test_event_massive_sync.py b/tests/integration/system/haf/test_event_massive_sync.py index 6941ddc54..d9fd0d290 100644 --- a/tests/integration/system/haf/test_event_massive_sync.py +++ b/tests/integration/system/haf/test_event_massive_sync.py @@ -3,7 +3,7 @@ from sqlalchemy.orm.exc import NoResultFound from sqlalchemy.orm.exc import MultipleResultsFound from test_tools import logger, BlockLog -from local_tools import get_time_offset_from_file +from local_tools import get_timestamp_from_file MASSIVE_SYNC_BLOCK_NUM = 105 @@ -16,14 +16,14 @@ def test_event_massive_sync(world_with_witnesses_and_database): world, session, Base = world_with_witnesses_and_database node_under_test = world.network('Beta').node('NodeUnderTest') - time_offset = get_time_offset_from_file(Path().resolve()/'timestamp') + timestamp = get_timestamp_from_file(Path().resolve()/'timestamp') block_log = BlockLog(None, Path().resolve()/'block_log', include_index=False) events_queue = Base.classes.events_queue # WHEN logger.info('Running node...') - node_under_test.run(wait_for_live=False, replay_from=block_log, time_offset=time_offset) + world.run_all_nodes(block_log, timestamp=timestamp, speedup=1, wait_for_live=False, nodes=[node_under_test]) # TODO get_p2p_endpoint is workaround to check if replay is finished node_under_test.get_p2p_endpoint() -- GitLab