From 12ff556a90d49f8cdce6ef03bac80287fbc7f3f2 Mon Sep 17 00:00:00 2001 From: lsankar4033 Date: Wed, 19 Aug 2020 19:27:28 -0700 Subject: [PATCH] Implement test_groups for normal test path --- lib/test_groups.py | 4 ++-- steth.py | 27 ++++++++++++++++++--------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/lib/test_groups.py b/lib/test_groups.py index 6c1b814..9a7ea77 100644 --- a/lib/test_groups.py +++ b/lib/test_groups.py @@ -1,7 +1,7 @@ from collections import defaultdict from typing import List, NamedTuple -from sclients import InstanceConfig +from sclients import InstanceConfig, ENR from lib.instance_configs import DEFAULT_ENR from lib.beacon_state import BeaconState, BEACON_STATE_PATHS @@ -39,7 +39,7 @@ def get_test_groups(test_file_to_configs, clients, test_file_filter) -> List[Tes test_groups = [] for (client, beacon_state_path), test_files in client_path_to_test_files.items(): - instance_config = InstanceConfig(client, beacon_state_path, DEFAULT_ENR) + instance_config = InstanceConfig(client, beacon_state_path, ENR(**DEFAULT_ENR)) test_groups.append(TestGroup(test_files, instance_config)) test_groups.sort(key=lambda tg: (tg.instance_config.client, tg.instance_config.beacon_state_path)) diff --git a/steth.py b/steth.py index bbf5456..138daab 100755 --- a/steth.py +++ b/steth.py @@ -3,12 +3,13 @@ import argparse import os import yaml -from sclients import SUPPORTED_CLIENTS +from sclients import SUPPORTED_CLIENTS, start_instance, stop_instance from lib.fixtures import extract_fixtures, setup_fixture, teardown_fixture from lib.instance_configs import DEFAULT_ARGS -from lib.runner import run_test_files, all_test_files, file_matches_filter +from lib.runner import run_test_files from lib.logging_tests import get_logging_test_groups +from lib.test_groups import TEST_FILE_TO_CONFIGS, get_test_groups def run_test_cmd(args): @@ -16,15 +17,22 @@ def run_test_cmd(args): file_filter = args.only - # TODO: use test groups! - test_files = [file for file in all_test_files() if file_matches_filter(file, file_filter)] - fixtures = extract_fixtures(clients) + test_groups = get_test_groups(TEST_FILE_TO_CONFIGS, clients, file_filter) + failed = False - for fixture in fixtures: - setup_fixture(fixture) + for test_group in test_groups: + print(test_group) + + start_instance(test_group.instance_config) try: - return_code = run_test_files(fixture.name, test_files, DEFAULT_ARGS) + # TODO: replace test_files + args with instance_config + return_code = run_test_files(test_group.instance_config.client, + test_group.test_files, + { + 'beacon_state_path': test_group.instance_config.beacon_state_path, + 'enr': test_group.instance_config.enr + }) if return_code != 0: failed = True @@ -33,7 +41,8 @@ def run_test_cmd(args): failed = True finally: - teardown_fixture(fixture) + stop_instance(test_group.instance_config.client) + if failed: exit(1)