From c8812e949c8914be85287da45aaca9de9b0e3d65 Mon Sep 17 00:00:00 2001 From: litincandela Date: Sat, 27 Jun 2026 07:10:20 +0000 Subject: [PATCH] lf_interop_throughput.py: WC-1725 - Handle non-dict cx data and non-integer signal values VERIFIED CLI: python3 lf_interop_throughput.py --mgr 192.168.207.75 \ --mgr_port 8080 \ --upstream_port eth1 \ --test_duration 1m \ --download 1000000 \ --traffic_type lf_udp Signed-off-by: litincandela --- py-scripts/lf_interop_throughput.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/py-scripts/lf_interop_throughput.py b/py-scripts/lf_interop_throughput.py index 2f6a3ef4f..77f7969f9 100755 --- a/py-scripts/lf_interop_throughput.py +++ b/py-scripts/lf_interop_throughput.py @@ -1277,7 +1277,7 @@ def get_layer3_endp_data(self): throughput[i][4] = 'Run' if value['run'] else 'Stopped' # To add average RTT for j in l3_cx_data: - if (j == "handler" or j == "uri"): + if not isinstance(l3_cx_data[j], dict): continue if cx == l3_cx_data[j]['name']: throughput[i][5] = l3_cx_data[j]['avg rtt'] @@ -1320,7 +1320,7 @@ def monitor(self, iteration, individual_df, device_names, incremental_capacity_l index += 1 current_time = datetime.now() signal_list, channel_list, mode_list, link_speed_list, rx_rate_list, bssid_list = self.get_signal_and_channel_data(self.input_devices_list) - signal_list = [int(i) if i != "" else 0 for i in signal_list] + signal_list = [int(i) if str(i).lstrip('-').isdigit() else 0 for i in signal_list] throughput[index] = self.get_layer3_endp_data() # Check if next sleep would overshoot the end_time is_last_iteration = ((current_time + timedelta(seconds=1 if self.dowebgui else self.report_timer)) >= end_time) @@ -1552,7 +1552,7 @@ def monitor(self, iteration, individual_df, device_names, incremental_capacity_l drop_a_per = [float(round(sum(i) / len(i), 2)) for i in drop_a] drop_b_per = [float(round(sum(i) / len(i), 2)) for i in drop_b] signal_list, channel_list, mode_list, link_speed_list, rx_rate_list, bssid_list = self.get_signal_and_channel_data(self.input_devices_list) - signal_list = [int(i) if i != "" else 0 for i in signal_list] + signal_list = [int(i) if str(i).lstrip('-').isdigit() else 0 for i in signal_list] # Storing individual device throughput data(download, upload, Rx % drop , Tx % drop) to dataframe after test stopped for i in range(len(download_throughput)): @@ -1704,7 +1704,7 @@ def monitor_for_robo(self, iteration, individual_df, device_names, incremental_c index += 1 current_time = datetime.now() signal_list, channel_list, mode_list, link_speed_list, rx_rate_list, bssid_list = self.get_signal_and_channel_data(self.input_devices_list) - signal_list = [int(i) if i != "" else 0 for i in signal_list] + signal_list = [int(i) if str(i).lstrip('-').isdigit() else 0 for i in signal_list] throughput[index] = self.get_layer3_endp_data() # Check if next sleep would overshoot the end_time is_last_iteration = ((current_time + timedelta(seconds=1 if self.dowebgui else self.report_timer)) >= end_time) @@ -1992,7 +1992,7 @@ def monitor_for_robo(self, iteration, individual_df, device_names, incremental_c drop_a_per = [float(round(sum(i) / len(i), 2)) for i in drop_a] drop_b_per = [float(round(sum(i) / len(i), 2)) for i in drop_b] signal_list, channel_list, mode_list, link_speed_list, rx_rate_list, bssid_list = self.get_signal_and_channel_data(self.input_devices_list) - signal_list = [int(i) if i != "" else 0 for i in signal_list] + signal_list = [int(i) if str(i).lstrip('-').isdigit() else 0 for i in signal_list] # Storing individual device throughput data(download, upload, Rx % drop , Tx % drop) to dataframe after test stopped for i in range(len(download_throughput)):