diff --git a/py-scripts/test_l3.py b/py-scripts/test_l3.py index b3a403050..2ca8628b6 100755 --- a/py-scripts/test_l3.py +++ b/py-scripts/test_l3.py @@ -3397,6 +3397,22 @@ def monitor(self, ul, dl, ul_pdu_str, dl_pdu_str, atten_val, coordinate, rotatio return data return total_dl_bps, total_ul_bps, total_dl_ll_bps, total_ul_ll_bps + @staticmethod + def normalize_signal_channel(port_data): + # Normalize RSSI / Channel so the port CSV columns keep a single dtype. + sig_str = str(port_data.get('signal', '')).strip() + signal_val = sig_str.split(" ")[0] if "dBm" in sig_str else sig_str + + chan_str = str(port_data.get('channel', '')).strip() + if chan_str in ('', '0', '-1'): + channel_val = 'NA' + elif '[channel:' in chan_str: + channel_val = chan_str.split(':')[1].replace(']', '').strip() + else: + channel_val = chan_str + + return signal_val, channel_val + def write_dl_port_csv( self, sta_count, @@ -3424,15 +3440,17 @@ def write_dl_port_csv( atten, port_eid ] + signal_val, channel_val = self.normalize_signal_channel(port_data) + row = row + [port_data['bps rx'], port_data['bps tx'], port_data['rx-rate'], port_data['tx-rate'], - port_data['signal'], + signal_val, port_data['ap'], port_data['mode'], port_data['mac'], - port_data['channel'], + channel_val, latency, jitter, total_ul_rate, @@ -3486,15 +3504,17 @@ def write_ul_port_csv( atten, port_eid ] + signal_val, channel_val = self.normalize_signal_channel(port_data) + row = row + [port_data['bps rx'], port_data['bps tx'], port_data['rx-rate'], port_data['tx-rate'], - port_data['signal'], + signal_val, port_data['ap'], port_data['mode'], port_data['mac'], - port_data['channel'], + channel_val, latency, jitter, total_ul_rate,