Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions tests/bgp/test_bgp_fact.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
pytest.mark.device_type('vs')
]

def test_bgp_facts(duthosts, dut_hostname, asic_index):
def test_bgp_facts(duthosts, enum_dut_hostname, enum_asic_index):
"""compare the bgp facts between observed states and target state"""

duthost = duthosts[dut_hostname]
bgp_facts =duthost.bgp_facts(instance_id=asic_index)['ansible_facts']
namespace = duthost.get_namespace_from_asic_id(asic_index)
duthost = duthosts[enum_dut_hostname]
bgp_facts =duthost.bgp_facts(instance_id=enum_asic_index)['ansible_facts']
namespace = duthost.get_namespace_from_asic_id(enum_asic_index)
config_facts = duthost.config_facts(host=duthost.hostname, source="running",namespace=namespace)['ansible_facts']

for k, v in bgp_facts['bgp_neighbors'].items():
Expand Down
48 changes: 27 additions & 21 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import string
import re
import getpass
import random

import pytest
import csv
Expand Down Expand Up @@ -608,26 +609,31 @@ def generate_port_lists(request, port_scope):
def pytest_generate_tests(metafunc):
# The topology always has atleast 1 dut
dut_indices = [0]
if "dut_index" in metafunc.fixturenames:
if "enum_dut_index" in metafunc.fixturenames:
dut_indices = generate_params_dut_index(metafunc)
metafunc.parametrize("dut_index",dut_indices)
elif "dut_hostname" in metafunc.fixturenames: # Fixture "dut_index" and "dut_hostname" should be mutually exclusive
metafunc.parametrize("enum_dut_index",dut_indices)
elif "enum_dut_hostname" in metafunc.fixturenames: # Fixture "enum_dut_index" and "enum_dut_hostname" should be mutually exclusive
dut_hostnames = generate_params_dut_hostname(metafunc)
metafunc.parametrize("dut_hostname", dut_hostnames)
if "asic_index" in metafunc.fixturenames:
metafunc.parametrize("asic_index",generate_param_asic_index(metafunc, dut_indices, ASIC_PARAM_TYPE_ALL))
if "frontend_asic_index" in metafunc.fixturenames:
metafunc.parametrize("frontend_asic_index",generate_param_asic_index(metafunc, dut_indices, ASIC_PARAM_TYPE_FRONTEND))

if "all_ports" in metafunc.fixturenames:
metafunc.parametrize("all_ports", generate_port_lists(metafunc, "all_ports"))
if "oper_up_ports" in metafunc.fixturenames:
metafunc.parametrize("oper_up_ports", generate_port_lists(metafunc, "oper_up_ports"))
if "admin_up_ports" in metafunc.fixturenames:
metafunc.parametrize("admin_up_ports", generate_port_lists(metafunc, "admin_up_ports"))
if "all_pcs" in metafunc.fixturenames:
metafunc.parametrize("all_pcs", generate_port_lists(metafunc, "all_pcs"))
if "oper_up_pcs" in metafunc.fixturenames:
metafunc.parametrize("oper_up_pcs", generate_port_lists(metafunc, "oper_up_pcs"))
if "admin_up_pcs" in metafunc.fixturenames:
metafunc.parametrize("admin_up_pcs", generate_port_lists(metafunc, "admin_up_pcs"))
metafunc.parametrize("enum_dut_hostname", dut_hostnames)
elif "rand_one_dut_hostname" in metafunc.fixturenames: # Fixture "enum_dut_index" and "enum_dut_hostname" should be mutually exclusive
dut_hostnames = generate_params_dut_hostname(metafunc)
if len(dut_hostnames) > 1:
dut_hostnames = random.sample(dut_hostnames, 1)
metafunc.parametrize("rand_one_dut_hostname", dut_hostnames)
if "enum_asic_index" in metafunc.fixturenames:
metafunc.parametrize("enum_asic_index",generate_param_asic_index(metafunc, dut_indices, ASIC_PARAM_TYPE_ALL))
if "enum_frontend_asic_index" in metafunc.fixturenames:
metafunc.parametrize("enum_frontend_asic_index",generate_param_asic_index(metafunc, dut_indices, ASIC_PARAM_TYPE_FRONTEND))

if "enum_dut_portname" in metafunc.fixturenames:
metafunc.parametrize("enum_dut_portname", generate_port_lists(metafunc, "all_ports"))
if "enum_dut_portname_oper_up" in metafunc.fixturenames:
metafunc.parametrize("enum_dut_portname_oper_up", generate_port_lists(metafunc, "oper_up_ports"))
if "enum_dut_portname_admin_up" in metafunc.fixturenames:
metafunc.parametrize("enum_dut_portname_admin_up", generate_port_lists(metafunc, "admin_up_ports"))
if "enum_dut_portchannel" in metafunc.fixturenames:
metafunc.parametrize("enum_dut_portchannel", generate_port_lists(metafunc, "all_pcs"))
if "enum_dut_portchannel_oper_up" in metafunc.fixturenames:
metafunc.parametrize("enum_dut_portchannel_oper_up", generate_port_lists(metafunc, "oper_up_pcs"))
if "enum_dut_portchannel_admin_up" in metafunc.fixturenames:
metafunc.parametrize("enum_dut_portchannel_admin_up", generate_port_lists(metafunc, "admin_up_pcs"))
4 changes: 2 additions & 2 deletions tests/pc/test_lag_2.py
Original file line number Diff line number Diff line change
Expand Up @@ -236,10 +236,10 @@ def run_lag_fallback_test(self, lag_name):
@pytest.mark.parametrize("testcase", ["single_lag",
"lacp_rate",
"fallback"])
def test_lag(common_setup_teardown, duthosts, tbinfo, nbrhosts, fanouthosts, conn_graph_facts, all_pcs, testcase):
def test_lag(common_setup_teardown, duthosts, tbinfo, nbrhosts, fanouthosts, conn_graph_facts, enum_dut_portchannel, testcase):
ptfhost = common_setup_teardown

dut_name, dut_lag = decode_dut_port_name(all_pcs)
dut_name, dut_lag = decode_dut_port_name(enum_dut_portchannel)

some_test_ran = False
for duthost in duthosts:
Expand Down
4 changes: 2 additions & 2 deletions tests/platform_tests/link_flap/test_link_flap.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,13 @@ def run_link_flap_test(self, dut, fanouthosts, port):


@pytest.mark.platform('physical')
def test_link_flap(request, duthosts, all_ports, fanouthosts, bring_up_fanout_interfaces):
def test_link_flap(request, duthosts, enum_dut_portname, fanouthosts, bring_up_fanout_interfaces):
"""
Validates that link flap works as expected
"""
tlf = TestLinkFlap(request)

dutname, portname = decode_dut_port_name(all_ports)
dutname, portname = decode_dut_port_name(enum_dut_portname)
for dut in duthosts:
if dutname == 'unknown' or dutname == dut.hostname:
tlf.run_link_flap_test(dut, fanouthosts, portname)
4 changes: 2 additions & 2 deletions tests/test_features.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
]

# Test Functions
def test_show_features(duthosts, dut_hostname):
def test_show_features(duthosts, enum_dut_hostname):
"""Verify show features command output against CONFIG_DB
"""
duthost = duthosts[dut_hostname]
duthost = duthosts[enum_dut_hostname]
features_dict, succeeded = duthost.get_feature_status()
pytest_assert(succeeded, "failed to obtain feature status")
for cmd_key, cmd_value in features_dict.items():
Expand Down
4 changes: 2 additions & 2 deletions tests/test_interfaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
pytest.mark.device_type('vs')
]

def test_interfaces(duthosts, dut_hostname):
def test_interfaces(duthosts, enum_dut_hostname):
"""compare the interfaces between observed states and target state"""

duthost = duthosts[dut_hostname]
duthost = duthosts[enum_dut_hostname]
host_facts = duthost.setup()['ansible_facts']
mg_facts = duthost.minigraph_facts(host=duthost.hostname)['ansible_facts']

Expand Down
4 changes: 2 additions & 2 deletions tests/test_nbr_health.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,11 @@ def check_bgp_facts(hostname, host):
if not res.has_key('stdout_lines') or u'BGP summary' not in res['stdout_lines'][0][0]:
return "neighbor {} bgp not configured correctly".format(hostname)

def test_neighbors_health(duthosts, localhost, nbrhosts, eos, dut_hostname):
def test_neighbors_health(duthosts, localhost, nbrhosts, eos, enum_dut_hostname):
"""Check each neighbor device health"""

fails = []
duthost = duthosts[dut_hostname]
duthost = duthosts[enum_dut_hostname]
config_facts = duthost.config_facts(host=duthost.hostname, source="running")['ansible_facts']
nei_meta = config_facts.get('DEVICE_NEIGHBOR_METADATA', {})
for k, v in nei_meta.items():
Expand Down
12 changes: 6 additions & 6 deletions tests/test_posttest.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
]


def test_collect_techsupport(duthosts, dut_hostname):
duthost = duthosts[dut_hostname]
def test_collect_techsupport(duthosts, enum_dut_hostname):
duthost = duthosts[enum_dut_hostname]
"""
A util for collecting techsupport after tests.

Expand All @@ -35,8 +35,8 @@ def test_collect_techsupport(duthosts, dut_hostname):

assert True

def test_restore_container_autorestart(duthosts, dut_hostname):
duthost = duthosts[dut_hostname]
def test_restore_container_autorestart(duthosts, enum_dut_hostname):
duthost = duthosts[enum_dut_hostname]
state_file_name = "/tmp/autorestart_state_{}.json".format(duthost.hostname)
if not os.path.exists(state_file_name):
return
Expand All @@ -61,8 +61,8 @@ def test_restore_container_autorestart(duthosts, dut_hostname):
SNMP_RELOADING_TIME = 30
time.sleep(SNMP_RELOADING_TIME)

def test_recover_rsyslog_rate_limit(duthosts, dut_hostname):
duthost = duthosts[dut_hostname]
def test_recover_rsyslog_rate_limit(duthosts, enum_dut_hostname):
duthost = duthosts[enum_dut_hostname]
features_dict, succeed = duthost.get_feature_status()
if not succeed:
# Something unexpected happened.
Expand Down
12 changes: 6 additions & 6 deletions tests/test_pretest.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
pytest.mark.disable_loganalyzer
]

def test_cleanup_testbed(duthosts, dut_hostname, request, ptfhost):
duthost = duthosts[dut_hostname]
def test_cleanup_testbed(duthosts, enum_dut_hostname, request, ptfhost):
duthost = duthosts[enum_dut_hostname]
deep_clean = request.config.getoption("--deep_clean")
if deep_clean:
logger.info("Deep cleaning DUT {}".format(duthost.hostname))
Expand All @@ -30,8 +30,8 @@ def test_cleanup_testbed(duthosts, dut_hostname, request, ptfhost):
if ptfhost:
ptfhost.shell("if [[ -f /etc/rsyslog.conf ]]; then mv /etc/rsyslog.conf /etc/rsyslog.conf.orig; uniq /etc/rsyslog.conf.orig > /etc/rsyslog.conf; fi", executable="/bin/bash")

def test_disable_container_autorestart(duthosts, dut_hostname):
duthost = duthosts[dut_hostname]
def test_disable_container_autorestart(duthosts, enum_dut_hostname):
duthost = duthosts[enum_dut_hostname]
command_output = duthost.shell("show feature autorestart", module_ignore_errors=True)
if command_output['rc'] != 0:
logging.info("Feature autorestart utility not supported. Error: {}".format(command_output['stderr']))
Expand Down Expand Up @@ -83,8 +83,8 @@ def test_update_testbed_metadata(duthosts, tbinfo):
logger.warning('Unable to create file {}: {}'.format(filepath, e))


def test_disable_rsyslog_rate_limit(duthosts, dut_hostname):
duthost = duthosts[dut_hostname]
def test_disable_rsyslog_rate_limit(duthosts, enum_dut_hostname):
duthost = duthosts[enum_dut_hostname]
features_dict, succeed = duthost.get_feature_status()
if not succeed:
# Something unexpected happened.
Expand Down