X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fpython%2Fautogen%2FRegenerator.py;h=8d593fecca4fcaf1b1f24bc652af5b949cfd6981;hp=af7d8cd10363a433767498c9b53cf65bdd8de92a;hb=HEAD;hpb=34beecff4e3d9d03615562f3843efe106e2528b7 diff --git a/resources/libraries/python/autogen/Regenerator.py b/resources/libraries/python/autogen/Regenerator.py index af7d8cd103..8d593fecca 100644 --- a/resources/libraries/python/autogen/Regenerator.py +++ b/resources/libraries/python/autogen/Regenerator.py @@ -1,4 +1,4 @@ -# Copyright (c) 2023 Cisco and/or its affiliates. +# Copyright (c) 2024 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -150,16 +150,17 @@ def filter_and_edit_kwargs_for_astf(suite_id, kwargs): return kwargs -def add_default_testcases(testcase, iface, suite_id, file_out, tc_kwargs_list): +def add_default_testcases( + testcase, nic_code, suite_id, file_out, tc_kwargs_list): """Add default testcases to file. :param testcase: Testcase class. - :param iface: Interface. + :param nic_code: NIC code. :param suite_id: Suite ID. :param file_out: File to write testcases to. :param tc_kwargs_list: Key-value pairs used to construct testcases. :type testcase: Testcase - :type iface: str + :type nic_code: str :type suite_id: str :type file_out: file :type tc_kwargs_list: dict @@ -169,23 +170,7 @@ def add_default_testcases(testcase, iface, suite_id, file_out, tc_kwargs_list): kwargs = copy.deepcopy(kwas) # TODO: Is there a better way to disable some combinations? emit = True - if kwargs[u"frame_size"] == 9000: - if u"vic1227" in iface: - # Not supported in HW. - emit = False - if u"vic1385" in iface: - # Not supported in HW. - emit = False - if u"-16vm2t-" in suite_id or u"-16dcr2t-" in suite_id: - if kwargs[u"phy_cores"] > 3: - # CSIT lab only has 28 (physical) core processors, - # so these test would fail when attempting to assign cores. - emit = False - if u"-24vm1t-" in suite_id or u"-24dcr1t-" in suite_id: - if kwargs[u"phy_cores"] > 3: - # CSIT lab only has 28 (physical) core processors, - # so these test would fail when attempting to assign cores. - emit = False + core_scale = Constants.NIC_CODE_TO_CORESCALE[nic_code] if u"soak" in suite_id: # Soak test take too long, do not risk other than tc01. if kwargs[u"phy_cores"] != 1: @@ -196,6 +181,9 @@ def add_default_testcases(testcase, iface, suite_id, file_out, tc_kwargs_list): else: if kwargs[u"frame_size"] not in MIN_FRAME_SIZE_VALUES: emit = False + + kwargs.update({'phy_cores': kwas['phy_cores']*core_scale}) + kwargs = filter_and_edit_kwargs_for_astf(suite_id, kwargs) if emit and kwargs is not None: file_out.write(testcase.generate(**kwargs)) @@ -347,7 +335,7 @@ def write_default_files(in_filename, in_prolog, kwargs_list): with open(out_filename, "wt") as file_out: file_out.write(out_prolog) add_default_testcases( - testcase, iface, suite_id, file_out, kwargs_list + testcase, nic_code, suite_id, file_out, kwargs_list ) continue for driver in Constants.NIC_NAME_TO_DRIVER[nic_name]: @@ -380,7 +368,6 @@ def write_default_files(in_filename, in_prolog, kwargs_list): Constants.NIC_CODE_TO_PFS[nic_code], 1, "NIC PFs argument should appear once.", in_filename ) - iface, suite_id, suite_tag = get_iface_and_suite_ids( out_filename ) @@ -397,7 +384,7 @@ def write_default_files(in_filename, in_prolog, kwargs_list): with open(out_filename, "wt") as file_out: file_out.write(out_prolog) add_default_testcases( - testcase, iface, suite_id, file_out, kwargs_list + testcase, nic_code, suite_id, file_out, kwargs_list ) @@ -417,10 +404,10 @@ def write_reconf_files(in_filename, in_prolog, kwargs_list): """ _, suite_id, _ = get_iface_and_suite_ids(in_filename) testcase = Testcase.default(suite_id) - for nic_name in Constants.NIC_NAME_TO_CODE: + for nic_code in Constants.NIC_CODE_TO_NAME: + nic_name = Constants.NIC_CODE_TO_NAME[nic_code] tmp_filename = replace_defensively( - in_filename, u"10ge2p1x710", - Constants.NIC_NAME_TO_CODE[nic_name], 1, + in_filename, u"10ge2p1x710", nic_code, 1, u"File name should contain NIC code once.", in_filename ) tmp_prolog = replace_defensively( @@ -441,7 +428,6 @@ def write_reconf_files(in_filename, in_prolog, kwargs_list): tmp_filename ) for driver in Constants.NIC_NAME_TO_DRIVER[nic_name]: - nic_code = Constants.NIC_NAME_TO_CODE[nic_name] out_filename = replace_defensively( tmp_filename, old_suite_id, Constants.NIC_DRIVER_TO_SUITE_PREFIX[driver] + old_suite_id, @@ -471,7 +457,6 @@ def write_reconf_files(in_filename, in_prolog, kwargs_list): Constants.NIC_CODE_TO_PFS[nic_code], 1, "NIC PFs argument should appear once.", in_filename ) - iface, suite_id, suite_tag = get_iface_and_suite_ids(out_filename) out_prolog = replace_defensively( out_prolog, old_suite_tag, suite_tag, 1, @@ -500,10 +485,10 @@ def write_tcp_files(in_filename, in_prolog, kwargs_list): # TODO: Generate rps from cps? There are subtle differences. _, suite_id, suite_tag = get_iface_and_suite_ids(in_filename) testcase = Testcase.tcp(suite_id) - for nic_name in Constants.NIC_NAME_TO_CODE: + for nic_code in Constants.NIC_CODE_TO_NAME: + nic_name = Constants.NIC_CODE_TO_NAME[nic_code] tmp_filename = replace_defensively( - in_filename, u"10ge2p1x710", - Constants.NIC_NAME_TO_CODE[nic_name], 1, + in_filename, u"10ge2p1x710", nic_code, 1, u"File name should contain NIC code once.", in_filename ) tmp_prolog = replace_defensively( @@ -515,7 +500,6 @@ def write_tcp_files(in_filename, in_prolog, kwargs_list): tmp_filename ) for driver in Constants.NIC_NAME_TO_DRIVER[nic_name]: - nic_code = Constants.NIC_NAME_TO_CODE[nic_name] out_filename = replace_defensively( tmp_filename, old_suite_id, Constants.NIC_DRIVER_TO_SUITE_PREFIX[driver] + old_suite_id, @@ -545,7 +529,6 @@ def write_tcp_files(in_filename, in_prolog, kwargs_list): Constants.NIC_CODE_TO_PFS[nic_code], 1, "NIC PFs argument should appear once.", in_filename ) - iface, suite_id, suite_tag = get_iface_and_suite_ids(out_filename) out_prolog = replace_defensively( out_prolog, old_suite_tag, suite_tag, 1, @@ -570,10 +553,10 @@ def write_iperf3_files(in_filename, in_prolog, kwargs_list): """ _, suite_id, suite_tag = get_iface_and_suite_ids(in_filename) testcase = Testcase.iperf3(suite_id) - for nic_name in Constants.NIC_NAME_TO_CODE: + for nic_code in Constants.NIC_CODE_TO_NAME: + nic_name = Constants.NIC_CODE_TO_NAME[nic_code] out_filename = replace_defensively( - in_filename, u"10ge2p1x710", - Constants.NIC_NAME_TO_CODE[nic_name], 1, + in_filename, u"10ge2p1x710", nic_code, 1, u"File name should contain NIC code once.", in_filename ) out_prolog = replace_defensively( @@ -628,10 +611,10 @@ def write_trex_files(in_filename, in_prolog, kwargs_list): ) _, suite_id, suite_tag = get_iface_and_suite_ids(tmp_filename) testcase = Testcase.trex(suite_id) - for nic_name in Constants.NIC_NAME_TO_CODE: + for nic_code in Constants.NIC_CODE_TO_NAME: + nic_name = Constants.NIC_CODE_TO_NAME[nic_code] out_filename = replace_defensively( - tmp_filename, u"10ge2p1x710", - Constants.NIC_NAME_TO_CODE[nic_name], 1, + tmp_filename, u"10ge2p1x710", nic_code, 1, u"File name should contain NIC code once.", in_filename ) out_prolog = replace_defensively( @@ -662,10 +645,10 @@ def write_device_files(in_filename, in_prolog, kwargs_list): ) _, suite_id, _ = get_iface_and_suite_ids(tmp_filename) testcase = Testcase.default(suite_id) - for nic_name in Constants.NIC_NAME_TO_CODE: + for nic_code in Constants.NIC_CODE_TO_NAME: + nic_name = Constants.NIC_CODE_TO_NAME[nic_code] tmp2_filename = replace_defensively( - tmp_filename, u"10ge2p1x710", - Constants.NIC_NAME_TO_CODE[nic_name], 1, + tmp_filename, u"10ge2p1x710", nic_code, 1, u"File name should contain NIC code once.", in_filename ) tmp2_prolog = replace_defensively( @@ -677,7 +660,6 @@ def write_device_files(in_filename, in_prolog, kwargs_list): tmp2_filename ) for driver in Constants.NIC_NAME_TO_DRIVER[nic_name]: - nic_code = Constants.NIC_NAME_TO_CODE[nic_name] out_filename = replace_defensively( tmp2_filename, old_suite_id, Constants.NIC_DRIVER_TO_SUITE_PREFIX[driver] + old_suite_id, @@ -707,7 +689,6 @@ def write_device_files(in_filename, in_prolog, kwargs_list): Constants.NIC_CODE_TO_PFS[nic_code], 1, "NIC PFs argument should appear once.", in_filename ) - iface, suite_id, suite_tag = get_iface_and_suite_ids( out_filename )