diff options
Diffstat (limited to 'host/tests/pytests')
-rw-r--r-- | host/tests/pytests/conftest.py | 12 | ||||
-rw-r--r-- | host/tests/pytests/test_raw_udp_streaming.py | 72 | ||||
-rw-r--r-- | host/tests/pytests/test_streaming.py | 9 |
3 files changed, 52 insertions, 41 deletions
diff --git a/host/tests/pytests/conftest.py b/host/tests/pytests/conftest.py index 5099c7cbe..cf05d5320 100644 --- a/host/tests/pytests/conftest.py +++ b/host/tests/pytests/conftest.py @@ -7,7 +7,7 @@ dut_type_list = [ "E320", "X310", "X310_TwinRx", - "x4xx" + "x410" ] @@ -71,6 +71,16 @@ def pytest_addoption(parser): type=str, nargs='?', help="configures num_send_frames parameter") + parser.addoption( + "--sfp_int0", + type=str, + required=False, + help="configures name of sfp0 interface") + parser.addoption( + "--sfp_int1", + type=str, + required=False, + help="configures name of sfp1 interface") def pytest_configure(config): # register additional markers diff --git a/host/tests/pytests/test_raw_udp_streaming.py b/host/tests/pytests/test_raw_udp_streaming.py index 9198afa64..e9619be10 100644 --- a/host/tests/pytests/test_raw_udp_streaming.py +++ b/host/tests/pytests/test_raw_udp_streaming.py @@ -27,18 +27,18 @@ def parametrize_test_length(metafunc, test_length, fast_params, stress_params): metafunc.parametrize(argnames, argvalues) -def generate_x4xx_10GbE_test_cases(metafunc, test_length): +def generate_x410_10GbE_test_cases(metafunc, test_length, sfp_int0, sfp_int1): test_cases = [ # Test Lengths dual_SFP rate rx_rate rx_channels dest_addr dest_port adapter host_interface keep_hdr test case ID # -------------------------------------------------------------------------------------------------------------------------------------------------------- - [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 245.76e6, 122.88e6, "0", "192.168.110.1", 1234, "sfp0", "enp1s0f0", True, id="SFP0_FULL_PACKET_1x10GbE-1xRX@122.88e6")], - [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 245.76e6, 122.88e6, "1", "192.168.110.1", 1234, "sfp0", "enp1s0f0", False, id="SFP0_RAW_PAYLOAD_1x10GbE-1xRX@122.88e6")], - [{}, pytest.param(False, 245.76e6, 122.88e6, "2", "192.168.110.1", 1234, "sfp0", "enp1s0f0", True, id="SFP0_FULL_PACKET_1x10GbE-1xRX@122.88e6")], - [{}, pytest.param(False, 245.76e6, 122.88e6, "3", "192.168.110.1", 1234, "sfp0", "enp1s0f0", False, id="SFP0_RAW_PAYLOAD_1x10GbE-1xRX@122.88e6")], - [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 245.76e6, 122.88e6, "0", "192.168.111.1", 1234, "sfp0_1", "enp1s0f1", True, id="SFP0_1_FULL_PACKET_1x10GbE-1xRX@122.88e6")], - [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 245.76e6, 122.88e6, "1", "192.168.111.1", 1234, "sfp0_1", "enp1s0f1", False, id="SFP0_1_RAW_PAYLOAD_1x10GbE-1xRX@122.88e6")], - [{}, pytest.param(False, 245.76e6, 122.88e6, "2", "192.168.111.1", 1234, "sfp0_1", "enp1s0f1", True, id="SFP0_1_FULL_PACKET_1x10GbE-1xRX@122.88e6")], - [{}, pytest.param(False, 245.76e6, 122.88e6, "3", "192.168.111.1", 1234, "sfp0_1", "enp1s0f1", False, id="SFP0_1_RAW_PAYLOAD_1x10GbE-1xRX@122.88e6")], + [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 245.76e6, 122.88e6, "0", "192.168.110.1", 1234, "sfp0", sfp_int0, True, id="SFP0_FULL_PACKET_1x10GbE-1xRX@122.88e6")], + [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 245.76e6, 122.88e6, "1", "192.168.110.1", 1234, "sfp0", sfp_int0, False, id="SFP0_RAW_PAYLOAD_1x10GbE-1xRX@122.88e6")], + [{}, pytest.param(False, 245.76e6, 122.88e6, "2", "192.168.110.1", 1234, "sfp0", sfp_int0, True, id="SFP0_FULL_PACKET_1x10GbE-1xRX@122.88e6")], + [{}, pytest.param(False, 245.76e6, 122.88e6, "3", "192.168.110.1", 1234, "sfp0", sfp_int0, False, id="SFP0_RAW_PAYLOAD_1x10GbE-1xRX@122.88e6")], + [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 245.76e6, 122.88e6, "0", "192.168.111.1", 1234, "sfp0_1", sfp_int1, True, id="SFP0_1_FULL_PACKET_1x10GbE-1xRX@122.88e6")], + [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 245.76e6, 122.88e6, "1", "192.168.111.1", 1234, "sfp0_1", sfp_int1, False, id="SFP0_1_RAW_PAYLOAD_1x10GbE-1xRX@122.88e6")], + [{}, pytest.param(False, 245.76e6, 122.88e6, "2", "192.168.111.1", 1234, "sfp0_1", sfp_int1, True, id="SFP0_1_FULL_PACKET_1x10GbE-1xRX@122.88e6")], + [{}, pytest.param(False, 245.76e6, 122.88e6, "3", "192.168.111.1", 1234, "sfp0_1", sfp_int1, False, id="SFP0_1_RAW_PAYLOAD_1x10GbE-1xRX@122.88e6")], ] argvalues = test_length_utils.select_test_cases_by_length(test_length, test_cases) @@ -48,29 +48,29 @@ def generate_x4xx_10GbE_test_cases(metafunc, test_length): stress_params = test_length_utils.test_length_params(iterations=2, duration=600) parametrize_test_length(metafunc, test_length, fast_params, stress_params) -def generate_x4xx_100GbE_test_cases(metafunc, test_length, dut_fpga): +def generate_x410_100GbE_test_cases(metafunc, test_length, dut_fpga, sfp_int0, sfp_int1): if dut_fpga.upper() == 'CG_400': test_cases = [ - # Test Lengths dual_SFP rate rx_rate rx_channels dest_addr dest_port adapter host_interface keep_hdr test case ID + # Test Lengths dual_SFP rate rx_rate rx_channels dest_addr dest_port adapter host_interface keep_hdr test case ID # -------------------------------------------------------------------------------------------------------------------------------------------------------- - [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 491.52e6, 491.52e6, "0", "192.168.110.1", 1234, "sfp0", "ens6f0", True, id="SFP0_FULL_PACKET_1x100GbE-1xRX@491.52e6")], - [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 491.52e6, 491.52e6, "1", "192.168.110.1", 1234, "sfp0", "ens6f0", False, id="SFP0_RAW_PAYLOAD_1x100GbE-1xRX@491.52e6")], - [{}, pytest.param(False, 491.52e6, 491.52e6, "2", "192.168.110.1", 1234, "sfp0", "ens6f0", True, id="SFP0_FULL_PACKET_1x100GbE-1xRX@491.52e6")], - [{}, pytest.param(False, 491.52e6, 491.52e6, "3", "192.168.110.1", 1234, "sfp0", "ens6f0", False, id="SFP0_RAW_PAYLOAD_1x100GbE-1xRX@491.52e6")], - [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 491.52e6, 491.52e6, "0", "192.168.120.1", 1234, "sfp1", "ens6f1", True, id="SFP1_FULL_PACKET_1x100GbE-1xRX@491.52e6")], - [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 491.52e6, 491.52e6, "1", "192.168.120.1", 1234, "sfp1", "ens6f1", False, id="SFP1_RAW_PAYLOAD_1x100GbE-1xRX@491.52e6")], - [{}, pytest.param(False, 491.52e6, 491.52e6, "2", "192.168.120.1", 1234, "sfp1", "ens6f1", True, id="SFP1_FULL_PACKET_1x100GbE-1xRX@491.52e6")], - [{}, pytest.param(False, 491.52e6, 491.52e6, "3", "192.168.120.1", 1234, "sfp1", "ens6f1", False, id="SFP1_RAW_PAYLOAD_1x100GbE-1xRX@491.52e6")], + [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 491.52e6, 491.52e6, "0", "192.168.110.1", 1234, "sfp0", sfp_int0, True, id="SFP0_FULL_PACKET_1x100GbE-1xRX@491.52e6")], + [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 491.52e6, 491.52e6, "1", "192.168.110.1", 1234, "sfp0", sfp_int0, False, id="SFP0_RAW_PAYLOAD_1x100GbE-1xRX@491.52e6")], + [{}, pytest.param(False, 491.52e6, 491.52e6, "2", "192.168.110.1", 1234, "sfp0", sfp_int0, True, id="SFP0_FULL_PACKET_1x100GbE-1xRX@491.52e6")], + [{}, pytest.param(False, 491.52e6, 491.52e6, "3", "192.168.110.1", 1234, "sfp0", sfp_int0, False, id="SFP0_RAW_PAYLOAD_1x100GbE-1xRX@491.52e6")], + [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 491.52e6, 491.52e6, "0", "192.168.120.1", 1234, "sfp1", sfp_int1, True, id="SFP1_FULL_PACKET_1x100GbE-1xRX@491.52e6")], + [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 491.52e6, 491.52e6, "1", "192.168.120.1", 1234, "sfp1", sfp_int1, False, id="SFP1_RAW_PAYLOAD_1x100GbE-1xRX@491.52e6")], + [{}, pytest.param(False, 491.52e6, 491.52e6, "2", "192.168.120.1", 1234, "sfp1", sfp_int1, True, id="SFP1_FULL_PACKET_1x100GbE-1xRX@491.52e6")], + [{}, pytest.param(False, 491.52e6, 491.52e6, "3", "192.168.120.1", 1234, "sfp1", sfp_int1, False, id="SFP1_RAW_PAYLOAD_1x100GbE-1xRX@491.52e6")], ] if dut_fpga.upper() == 'UC_200': test_cases = [ - # Test Lengths dual_SFP rate rx_rate rx_channels dest_addr dest_port adapter host_interface keep_hdr test case ID + # Test Lengths dual_SFP rate rx_rate rx_channels dest_addr dest_port adapter host_interface keep_hdr test case ID # -------------------------------------------------------------------------------------------------------------------------------------------------------- - [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 250e6, 250e6, "0", "192.168.120.1", 1234, "sfp1", "ens6f1", True, id="SFP1_FULL_PACKET_1x100GbE-1xRX@250e6")], - [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 250e6, 250e6, "1", "192.168.120.1", 1234, "sfp1", "ens6f1", False, id="SFP1_RAW_PAYLOAD_1x100GbE-1xRX@250e6")], - [{}, pytest.param(False, 250e6, 250e6, "2", "192.168.120.1", 1234, "sfp1", "ens6f1", True, id="SFP1_FULL_PACKET_1x100GbE-1xRX@250e6")], - [{}, pytest.param(False, 250e6, 250e6, "3", "192.168.120.1", 1234, "sfp1", "ens6f1", False, id="SFP1_RAW_PAYLOAD_1x100GbE-1xRX@250e6")], + [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 250e6, 250e6, "0", "192.168.120.1", 1234, "sfp1", sfp_int1, True, id="SFP1_FULL_PACKET_1x100GbE-1xRX@250e6")], + [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 250e6, 250e6, "1", "192.168.120.1", 1234, "sfp1", sfp_int1, False, id="SFP1_RAW_PAYLOAD_1x100GbE-1xRX@250e6")], + [{}, pytest.param(False, 250e6, 250e6, "2", "192.168.120.1", 1234, "sfp1", sfp_int1, True, id="SFP1_FULL_PACKET_1x100GbE-1xRX@250e6")], + [{}, pytest.param(False, 250e6, 250e6, "3", "192.168.120.1", 1234, "sfp1", sfp_int1, False, id="SFP1_RAW_PAYLOAD_1x100GbE-1xRX@250e6")], ] argvalues = test_length_utils.select_test_cases_by_length(test_length, test_cases) @@ -80,14 +80,14 @@ def generate_x4xx_100GbE_test_cases(metafunc, test_length, dut_fpga): stress_params = test_length_utils.test_length_params(iterations=2, duration=600) parametrize_test_length(metafunc, test_length, fast_params, stress_params) -def generate_X310_10GbE_test_cases(metafunc, test_length): +def generate_X310_10GbE_test_cases(metafunc, test_length, sfp_int0, sfp_int1): test_cases = [ # Test Lengths dual_SFP rate rx_rate rx_channels dest_addr dest_port adapter host_interface keep_hdr test case ID # -------------------------------------------------------------------------------------------------------------------------------------------------------- - [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 200e6, 200e6, "0", "192.168.10.1", 1234, "sfp0", "ens4f0", True, id="SFP0_FULL_PACKET_1x10GbE-1xRX@200e6")], - [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 200e6, 200e6, "1", "192.168.10.1", 1234, "sfp0", "ens4f0", False, id="SFP0_RAW_PAYLOAD_1x10GbE-1xRX@200e6")], - [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 200e6, 200e6, "0", "192.168.20.1", 1234, "sfp1", "ens4f1", True, id="SFP1_FULL_PACKET_1x10GbE-1xRX@200e6")], - [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 200e6, 200e6, "1", "192.168.20.1", 1234, "sfp1", "ens4f1", False, id="SFP1_RAW_PAYLOAD_1x10GbE-1xRX@200e6")], + [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 200e6, 200e6, "0", "192.168.10.1", 1234, "sfp0", sfp_int0, True, id="SFP0_FULL_PACKET_1x10GbE-1xRX@200e6")], + [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 200e6, 200e6, "1", "192.168.10.1", 1234, "sfp0", sfp_int0, False, id="SFP0_RAW_PAYLOAD_1x10GbE-1xRX@200e6")], + [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 200e6, 200e6, "0", "192.168.20.1", 1234, "sfp1", sfp_int1, True, id="SFP1_FULL_PACKET_1x10GbE-1xRX@200e6")], + [{Test_Length_Stress, Test_Length_Smoke}, pytest.param(False, 200e6, 200e6, "1", "192.168.20.1", 1234, "sfp1", sfp_int1, False, id="SFP1_RAW_PAYLOAD_1x10GbE-1xRX@200e6")], ] argvalues = test_length_utils.select_test_cases_by_length(test_length, test_cases) @@ -101,15 +101,17 @@ def pytest_generate_tests(metafunc): dut_type = metafunc.config.getoption("dut_type") dut_fpga = metafunc.config.getoption("dut_fpga") test_length = metafunc.config.getoption("test_length") + sfp_int0 = metafunc.config.getoption("sfp_int0") + sfp_int1 = metafunc.config.getoption("sfp_int1") metafunc.parametrize("dut_type", [dut_type]) - if dut_type.lower() == 'x4xx' and dut_fpga.upper() == 'X4_200': - generate_x4xx_10GbE_test_cases(metafunc, test_length) - if dut_type.lower() == 'x4xx' and dut_fpga.upper() in {'CG_400', 'UC_200'}: - generate_x4xx_100GbE_test_cases(metafunc, test_length, dut_fpga) + if dut_type.lower() == 'x410' and dut_fpga.upper() == 'X4_200': + generate_x410_10GbE_test_cases(metafunc, test_length, sfp_int0, sfp_int1) + if dut_type.lower() == 'x410' and dut_fpga.upper() in {'CG_400', 'UC_200'}: + generate_x410_100GbE_test_cases(metafunc, test_length, dut_fpga, sfp_int0, sfp_int1) if dut_type.lower() == 'x310' and dut_fpga.upper() == 'XG': - generate_X310_10GbE_test_cases(metafunc, test_length) + generate_X310_10GbE_test_cases(metafunc, test_length, sfp_int0, sfp_int1) def test_raw_udp_streaming(pytestconfig, dut_type, dual_SFP, rate, rx_rate, rx_channels, @@ -120,7 +122,7 @@ def test_raw_udp_streaming(pytestconfig, dut_type, dual_SFP, rate, rx_rate, rx_c device_args = "" # construct device args string - if dut_type.lower() in ['n310', 'n320', 'e320', 'x4xx', 'x310']: + if dut_type.lower() in ['n310', 'n320', 'e320', 'x310', 'x410']: device_args += f"master_clock_rate={rate}," addr = pytestconfig.getoption('addr') diff --git a/host/tests/pytests/test_streaming.py b/host/tests/pytests/test_streaming.py index f8725663c..5f06945f8 100644 --- a/host/tests/pytests/test_streaming.py +++ b/host/tests/pytests/test_streaming.py @@ -156,7 +156,7 @@ def generate_X310_TwinRx_test_cases(metafunc, test_length): stress_params = test_length_utils.test_length_params(iterations=2, duration=600) parametrize_test_length(metafunc, test_length, fast_params, stress_params) -def generate_x4xx_test_cases(metafunc, test_length, dut_fpga): +def generate_x410_test_cases(metafunc, test_length, dut_fpga): if dut_fpga.upper() == 'CG_400': test_cases = [ # Test Lengths dual_SFP rate rx_rate rx_channels tx_rate tx_channels test case ID @@ -193,7 +193,6 @@ def generate_x4xx_test_cases(metafunc, test_length, dut_fpga): stress_params = test_length_utils.test_length_params(iterations=2, duration=600) parametrize_test_length(metafunc, test_length, fast_params, stress_params) - def pytest_generate_tests(metafunc): dut_type = metafunc.config.getoption("dut_type") dut_fpga = metafunc.config.getoption("dut_fpga") @@ -226,8 +225,8 @@ def pytest_generate_tests(metafunc): generate_X310_test_cases(metafunc, test_length) elif dut_type.lower() == 'x310_twinrx': generate_X310_TwinRx_test_cases(metafunc, test_length) - elif dut_type.lower() == 'x4xx': - generate_x4xx_test_cases(metafunc, test_length, dut_fpga) + elif dut_type.lower() == 'x410': + generate_x410_test_cases(metafunc, test_length, dut_fpga) def test_streaming(pytestconfig, dut_type, use_dpdk, dual_SFP, rate, rx_rate, rx_channels, @@ -291,7 +290,7 @@ def test_streaming(pytestconfig, dut_type, use_dpdk, dual_SFP, rate, rx_rate, rx # Run X410 streaming tests in multi_streamer mode and high thread priority # since those settings allow for best performance. - if dut_type.lower() == "x4xx": + if dut_type.lower() == "x410": benchmark_rate_params["multi_streamer"] = 1 benchmark_rate_params["priority"] = "high" dut_fpga = pytestconfig.getoption('dut_fpga') |