Skip to content

Commit

Permalink
Implement test_groups for normal test path
Browse files Browse the repository at this point in the history
  • Loading branch information
lsankar4033 committed Aug 20, 2020
1 parent c3b4631 commit 12ff556
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 11 deletions.
4 changes: 2 additions & 2 deletions lib/test_groups.py
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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))
Expand Down
27 changes: 18 additions & 9 deletions steth.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,36 @@
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):
clients = SUPPORTED_CLIENTS if args.client is None else [args.client]

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

Expand All @@ -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)

Expand Down

0 comments on commit 12ff556

Please sign in to comment.