From 64e19ead926c1b588f1e7d1f1b30e8b583424a75 Mon Sep 17 00:00:00 2001 From: tshalvi Date: Mon, 16 Oct 2023 16:19:05 +0000 Subject: [PATCH 1/3] Updated media_settings.json validator to align with json's updated format --- src/sonic-device-data/tests/media_checker | 38 +++++++++++++++++------ 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/src/sonic-device-data/tests/media_checker b/src/sonic-device-data/tests/media_checker index dc9567985dc..e2a1aa17db2 100755 --- a/src/sonic-device-data/tests/media_checker +++ b/src/sonic-device-data/tests/media_checker @@ -7,9 +7,12 @@ import sys level1_keys = ["GLOBAL_MEDIA_SETTINGS","PORT_MEDIA_SETTINGS"] -setting_keys = ["preemphasis","idriver","ipredriver",\ - "main","pre1","pre2","pre3",\ - "post1","post2","post3","attn"] +setting_keys = ["preemphasis", "idriver", "ipredriver", \ + "main", "pre1", "pre2", "pre3", \ + "post1", "post2", "post3", "attn", \ + "ob_m2lp", "ob_alev_out", "obplev", "obnlev", \ + "regn_bfm1p", "regn_bfm1n"] +lane_speed_key_prefix = 'speed:' lane_prefix = "lane" comma_separator = "," range_separator = "-" @@ -46,17 +49,32 @@ def check_media_dict(vendor_dict): print("Expecting settings for vendor type " + vendor_key) return False + lane_speed_heirarchy_exists = None + for value_key in value_dict: - if value_key not in setting_keys: - print("Unknown media setting " + value_key) - return False + if value_key.startswith(lane_speed_key_prefix): + if lane_speed_heirarchy_exists == False: + print("Inconsistent lane speed heirarchy levels for the same entry") + return False + lane_speed_heirarchy_exists = True + settings_dict = value_dict[value_key] + else: + if lane_speed_heirarchy_exists == True: + print("Inconsistent lane speed heirarchy levels for the same entry") + return False + lane_speed_heirarchy_exists = False + settings_dict = value_dict - lane_dict = value_dict[value_key] - for lanes in lane_dict: - if not check_lane_and_value(lanes, lane_dict[lanes]): + for settings_key in settings_dict: + if settings_key not in setting_keys: + print("Unknown media setting " + settings_key) return False - return True + lane_dict = settings_dict[settings_key] + for lanes in lane_dict: + if not check_lane_and_value(lanes, lane_dict[lanes]): + return False + return True def check_valid_port(port_name): try: From 1a166fcd3dd5f40956ac91bab5b7f6d555164154 Mon Sep 17 00:00:00 2001 From: tshalvi Date: Wed, 18 Oct 2023 15:22:33 +0000 Subject: [PATCH 2/3] Log update --- src/sonic-device-data/tests/media_checker | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/sonic-device-data/tests/media_checker b/src/sonic-device-data/tests/media_checker index e2a1aa17db2..b5a877e9243 100755 --- a/src/sonic-device-data/tests/media_checker +++ b/src/sonic-device-data/tests/media_checker @@ -49,20 +49,20 @@ def check_media_dict(vendor_dict): print("Expecting settings for vendor type " + vendor_key) return False - lane_speed_heirarchy_exists = None + lane_speed_hierarchy_exists = None for value_key in value_dict: if value_key.startswith(lane_speed_key_prefix): - if lane_speed_heirarchy_exists == False: - print("Inconsistent lane speed heirarchy levels for the same entry") + if lane_speed_hierarchy_exists == False: + print("Inconsistent lane speed hierarchy levels for the same entry") return False - lane_speed_heirarchy_exists = True + lane_speed_hierarchy_exists = True settings_dict = value_dict[value_key] else: - if lane_speed_heirarchy_exists == True: - print("Inconsistent lane speed heirarchy levels for the same entry") + if lane_speed_hierarchy_exists == True: + print("Inconsistent lane speed hierarchy levels for the same entry") return False - lane_speed_heirarchy_exists = False + lane_speed_hierarchy_exists = False settings_dict = value_dict for settings_key in settings_dict: From 7d92e9ba1d45deb69580556691dab0956208999e Mon Sep 17 00:00:00 2001 From: tshalvi Date: Mon, 23 Oct 2023 14:06:32 +0000 Subject: [PATCH 3/3] Code refactoring: Updated variable names for clarity --- src/sonic-device-data/tests/media_checker | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/sonic-device-data/tests/media_checker b/src/sonic-device-data/tests/media_checker index b5a877e9243..9826914c504 100755 --- a/src/sonic-device-data/tests/media_checker +++ b/src/sonic-device-data/tests/media_checker @@ -7,11 +7,11 @@ import sys level1_keys = ["GLOBAL_MEDIA_SETTINGS","PORT_MEDIA_SETTINGS"] -setting_keys = ["preemphasis", "idriver", "ipredriver", \ - "main", "pre1", "pre2", "pre3", \ - "post1", "post2", "post3", "attn", \ - "ob_m2lp", "ob_alev_out", "obplev", "obnlev", \ - "regn_bfm1p", "regn_bfm1n"] +si_param_list = ["preemphasis", "idriver", "ipredriver", \ + "main", "pre1", "pre2", "pre3", \ + "post1", "post2", "post3", "attn", \ + "ob_m2lp", "ob_alev_out", "obplev", "obnlev", \ + "regn_bfm1p", "regn_bfm1n"] lane_speed_key_prefix = 'speed:' lane_prefix = "lane" comma_separator = "," @@ -53,24 +53,24 @@ def check_media_dict(vendor_dict): for value_key in value_dict: if value_key.startswith(lane_speed_key_prefix): - if lane_speed_hierarchy_exists == False: + if lane_speed_hierarchy_exists is False: print("Inconsistent lane speed hierarchy levels for the same entry") return False lane_speed_hierarchy_exists = True settings_dict = value_dict[value_key] else: - if lane_speed_hierarchy_exists == True: + if lane_speed_hierarchy_exists is True: print("Inconsistent lane speed hierarchy levels for the same entry") return False lane_speed_hierarchy_exists = False settings_dict = value_dict - for settings_key in settings_dict: - if settings_key not in setting_keys: - print("Unknown media setting " + settings_key) + for si_param in settings_dict: + if si_param not in si_param_list: + print("Unknown media setting " + si_param) return False - lane_dict = settings_dict[settings_key] + lane_dict = settings_dict[si_param] for lanes in lane_dict: if not check_lane_and_value(lanes, lane_dict[lanes]): return False