lf_ftp.py: text and whitespace updates - autopep8

Signed-off-by: Scott Wedge <scott.wedge@candelatech.com>
This commit is contained in:
Scott Wedge
2022-01-31 09:07:32 -06:00
committed by shivam
parent df85ca92f2
commit ae4cac5587

View File

@@ -216,10 +216,10 @@ class FtpTest(LFCliBase):
# print("station:{station_names}".format(station_names=self.station_profile.station_names)) # print("station:{station_names}".format(station_names=self.station_profile.station_names))
# print("ip_upstream:{ip_upstream}".format(ip_upstream=ip_upstream)) # print("ip_upstream:{ip_upstream}".format(ip_upstream=ip_upstream))
self.cx_profile.create(ports=self.station_profile.station_names, ftp_ip=ip_upstream + self.cx_profile.create(ports=self.station_profile.station_names, ftp_ip=ip_upstream +
"/ftp_test.txt", "/ftp_test.txt",
sleep_time=.5, debug_=self.debug, suppress_related_commands_=True, ftp=True, sleep_time=.5, debug_=self.debug, suppress_related_commands_=True, ftp=True,
user="lanforge", user="lanforge",
passwd="lanforge", source="") passwd="lanforge", source="")
elif self.direction == "Upload": elif self.direction == "Upload":
dict_sta_and_ip = {} dict_sta_and_ip = {}
@@ -342,7 +342,6 @@ class FtpTest(LFCliBase):
else: else:
return float(upper[:-2]) * 10 ** 6 return float(upper[:-2]) * 10 ** 6
def my_monitor(self, time1): def my_monitor(self, time1):
# data in json format # data in json format
data = self.json_get("layer4/list?fields=bytes-rd") data = self.json_get("layer4/list?fields=bytes-rd")
@@ -439,11 +438,12 @@ class FtpTest(LFCliBase):
return create_dict return create_dict
def convert_min_in_time(self, total_minutes): def convert_min_in_time(self, total_minutes):
'''
# Get hours with floor division # Get hours with floor division
hours = total_minutes // 60 hours = total_minutes // 60
# Get additional minutes with modulus # Get additional minutes with modulus
minutes = total_minutes % 60 minutes = total_minutes % 60
'''
# Create time as a string # Create time as a string
time_string = str("%d:%02d" % (divmod(total_minutes, 60))) + ":00" + ":000000" time_string = str("%d:%02d" % (divmod(total_minutes, 60))) + ":00" + ":000000"
@@ -475,7 +475,7 @@ class FtpTest(LFCliBase):
else: else:
self.rows_head.append(str(self.num_stations // 2) + "+" + str(self.num_stations // 2) + " Clients-2.4G+5G") self.rows_head.append(str(self.num_stations // 2) + "+" + str(self.num_stations // 2) + " Clients-2.4G+5G")
#creating dict for a table # creating dict for a table
table_dict_pass_fail = {} table_dict_pass_fail = {}
i = 0 i = 0
table_dict_pass_fail[""] = self.rows_head table_dict_pass_fail[""] = self.rows_head
@@ -537,7 +537,7 @@ class FtpTest(LFCliBase):
return table_dict_time return table_dict_time
def generate_graph_time(self,result_data, x_axis, band, size): def generate_graph_time(self, result_data, x_axis, band, size):
'''Method for generating graph for time''' '''Method for generating graph for time'''
num_stations = result_data[1]["num_stations"] num_stations = result_data[1]["num_stations"]
@@ -553,9 +553,9 @@ class FtpTest(LFCliBase):
dataset.append(data["time"]) dataset.append(data["time"])
labels.append("Download") labels.append("Download")
#Adding red bar if client unable to download/upload file # Adding red bar if client unable to download/upload file
color_list = [] color_list = []
#converting minutes in seconds # converting minutes in seconds
duration = data["duration"] * 60 duration = data["duration"] * 60
for i in data["time"]: for i in data["time"]:
if i < duration: if i < duration:
@@ -629,10 +629,9 @@ class FtpTest(LFCliBase):
else: else:
handles.append(mpatches.Patch(color='red', label='Upload/Download > threshold time')) handles.append(mpatches.Patch(color='red', label='Upload/Download > threshold time'))
self.report.set_obj_html(graph_name, graph_description) self.report.set_obj_html(graph_name, graph_description)
self.report.build_objective() self.report.build_objective()
image_name = "image"+band+size image_name = "image" + band + size
x_axis_name = "Stations" x_axis_name = "Stations"
y_axis_name = "Time in seconds" y_axis_name = "Time in seconds"
self.bar_graph(x_axis, image_name, dataset, color, labels, x_axis_name, y_axis_name, handles, ncol=num_col, box=box, fontsize=12) self.bar_graph(x_axis, image_name, dataset, color, labels, x_axis_name, y_axis_name, handles, ncol=num_col, box=box, fontsize=12)
@@ -654,7 +653,8 @@ class FtpTest(LFCliBase):
color.append("Orange") color.append("Orange")
graph_name = "File size " + size + " " + str( graph_name = "File size " + size + " " + str(
num_stations) + " Clients " + band + "-File Download Throughput(MB)" num_stations) + " Clients " + band + "-File Download Throughput(MB)"
graph_description = str(data["num_stations"] - data["time"].count(0)) + " clients are able to download " + data["file_size"] + " file." graph_description = str(data["num_stations"] - data["time"].count(0)) + \
" clients are able to download " + data["file_size"] + " file."
count = count + 1 count = count + 1
if data["band"] == band and data["file_size"] == size and data["direction"] == "Upload": if data["band"] == band and data["file_size"] == size and data["direction"] == "Upload":
dataset.append(data["throughput"]) dataset.append(data["throughput"])
@@ -662,7 +662,8 @@ class FtpTest(LFCliBase):
color.append("Blue") color.append("Blue")
graph_name = "File size " + size + " " + str( graph_name = "File size " + size + " " + str(
num_stations) + " Clients " + band + "-File Upload Throughput(MB)" num_stations) + " Clients " + band + "-File Upload Throughput(MB)"
graph_description = graph_description + str(data["num_stations"] - data["time"].count(0)) + " clients are able to upload " + data["file_size"] + " file." graph_description = graph_description + str(data["num_stations"] - data["time"].count(0)) + \
" clients are able to upload " + data["file_size"] + " file."
count = count + 1 count = count + 1
if count == 2: if count == 2:
graph_name = "File size " + size + " " + str( graph_name = "File size " + size + " " + str(
@@ -676,27 +677,27 @@ class FtpTest(LFCliBase):
box = (1.1, 1.05) box = (1.1, 1.05)
self.bar_graph(x_axis, image_name, dataset, color, labels, x_axis_name, y_axis_name, handles=None, ncol=1, box=box, fontsize=None) self.bar_graph(x_axis, image_name, dataset, color, labels, x_axis_name, y_axis_name, handles=None, ncol=1, box=box, fontsize=None)
def bar_graph(self, x_axis, image_name, dataset, color, labels, x_axis_name, y_axis_name,handles, ncol, box, fontsize): def bar_graph(self, x_axis, image_name, dataset, color, labels, x_axis_name, y_axis_name, handles, ncol, box, fontsize):
'''This Method will plot bar graph''' '''This Method will plot bar graph'''
graph = lf_graph.lf_bar_graph(_data_set=dataset, graph = lf_graph.lf_bar_graph(_data_set=dataset,
_xaxis_name=x_axis_name, _xaxis_name=x_axis_name,
_yaxis_name=y_axis_name, _yaxis_name=y_axis_name,
_xaxis_categories=x_axis, _xaxis_categories=x_axis,
_label=labels, _label=labels,
_graph_image_name=image_name, _graph_image_name=image_name,
_figsize=(18, 6), _figsize=(18, 6),
_color=color, _color=color,
_show_bar_value=False, _show_bar_value=False,
_xaxis_step=None, _xaxis_step=None,
_legend_handles=handles, _legend_handles=handles,
_color_edge=None, _color_edge=None,
_text_rotation=40, _text_rotation=40,
_legend_loc="upper right", _legend_loc="upper right",
_legend_box=box, _legend_box=box,
_legend_ncol=ncol, _legend_ncol=ncol,
_legend_fontsize=fontsize, _legend_fontsize=fontsize,
_enable_csv=True) _enable_csv=True)
graph_png = graph.build_bar_graph() graph_png = graph.build_bar_graph()
@@ -722,7 +723,6 @@ class FtpTest(LFCliBase):
self.generate_graph_time(result_data, x_axis, b, size) self.generate_graph_time(result_data, x_axis, b, size)
self.generate_graph_throughput(result_data, x_axis, b, size) self.generate_graph_throughput(result_data, x_axis, b, size)
def generate_report(self, ftp_data, date, test_setup_info, input_setup_info, test_rig, test_tag, dut_hw_version, def generate_report(self, ftp_data, date, test_setup_info, input_setup_info, test_rig, test_tag, dut_hw_version,
dut_sw_version, dut_model_num, dut_serial_num, test_id, bands, dut_sw_version, dut_model_num, dut_serial_num, test_id, bands,
csv_outfile): csv_outfile):
@@ -738,16 +738,18 @@ class FtpTest(LFCliBase):
self.report.test_setup_table(value="Device under test", test_setup_data=test_setup_info) self.report.test_setup_table(value="Device under test", test_setup_data=test_setup_info)
self.report.set_obj_html("Objective", self.report.set_obj_html("Objective",
"This FTP Test is used to Verify that N clients connected on Specified band and can simultaneously download/upload some amount of file from FTP server and measuring the time taken by client to Download/Upload the file.") "This FTP Test is used to Verify that N clients connected on Specified band and can "
"simultaneously download/upload some amount of file from FTP server and measuring the "
"time taken by client to Download/Upload the file.")
self.report.build_objective() self.report.build_objective()
self.report.set_obj_html("PASS/FAIL Results", self.report.set_obj_html("PASS/FAIL Results",
"This Table will give Pass/Fail results.") "This Table will give Pass/Fail results.")
self.report.build_objective() self.report.build_objective()
dataframe1 = pd.DataFrame(self.add_pass_fail_table(ftp_data)) dataframe1 = pd.DataFrame(self.add_pass_fail_table(ftp_data))
self.report.set_table_dataframe(dataframe1) self.report.set_table_dataframe(dataframe1)
self.report.build_table() self.report.build_table()
self.report.set_obj_html("File Download/Upload Time (sec)", self.report.set_obj_html("File Download/Upload Time (sec)",
"This Table will give FTP Download/Upload Time of Clients.") "This Table will give FTP Download/Upload Time of Clients.")
self.report.build_objective() self.report.build_objective()
dataframe2 = pd.DataFrame(self.download_upload_time_table(ftp_data)) dataframe2 = pd.DataFrame(self.download_upload_time_table(ftp_data))
self.report.set_table_dataframe(dataframe2) self.report.set_table_dataframe(dataframe2)
@@ -802,41 +804,40 @@ class FtpTest(LFCliBase):
# if upload tests are being ran as well: # if upload tests are being ran as well:
if len(self.kpi_results) > 1: if len(self.kpi_results) > 1:
for upload_rts in self.kpi_results[1]: for upload_rts in self.kpi_results[1]:
split_upload_rates = upload_rts.split(',') split_upload_rates = upload_rts.split(',')
# print("split_upload_rates:{split_upload_rates}".format(split_upload_rates=split_upload_rates)) # print("split_upload_rates:{split_upload_rates}".format(split_upload_rates=split_upload_rates))
up_x_fin = [] up_x_fin = []
up_y_fin = [] up_y_fin = []
up_z_fin = [] up_z_fin = []
# split upload data rates for upload_table_values dict # split upload data rates for upload_table_values dict
up_x = split_upload_rates[0] up_x = split_upload_rates[0]
up_y = split_upload_rates[1] up_y = split_upload_rates[1]
up_z = split_upload_rates[2] up_z = split_upload_rates[2]
up_split_min = up_x.split('=') up_split_min = up_x.split('=')
up_split_max = up_y.split('=') up_split_max = up_y.split('=')
up_split_avg = up_z.split('=') up_split_avg = up_z.split('=')
up_x1 = up_split_min[1] up_x1 = up_split_min[1]
up_y1 = up_split_max[1] up_y1 = up_split_max[1]
up_z1 = up_split_avg[1] up_z1 = up_split_avg[1]
up_z2 = up_z1.split() up_z2 = up_z1.split()
up_z3 = up_z2[0] up_z3 = up_z2[0]
up_x_fin.append(up_x1) up_x_fin.append(up_x1)
up_y_fin.append(up_y1) up_y_fin.append(up_y1)
up_z_fin.append(up_z3) up_z_fin.append(up_z3)
upload_table_value = {
"Band": bands,
"Minimum": up_x_fin,
"Maximum": up_y_fin,
"Average": up_z_fin
}
# print("upload_table_value:{upload_table_value}".format(upload_table_value=upload_table_value))
upload_table_value = {
"Band": bands,
"Minimum": up_x_fin,
"Maximum": up_y_fin,
"Average": up_z_fin
}
# print("upload_table_value:{upload_table_value}".format(upload_table_value=upload_table_value))
# Get the report path to create the kpi.csv path # Get the report path to create the kpi.csv path
kpi_path = self.report.get_report_path() kpi_path = self.report.get_report_path()
@@ -905,7 +906,7 @@ class FtpTest(LFCliBase):
band=download_table_value['Band'][band]) band=download_table_value['Band'][band])
self.kpi_csv.kpi_dict['numeric-score'] = "{avg}".format(avg=download_table_value['Average'][band]) self.kpi_csv.kpi_dict['numeric-score'] = "{avg}".format(avg=download_table_value['Average'][band])
self.kpi_csv.kpi_csv_write_dict(self.kpi_csv.kpi_dict) self.kpi_csv.kpi_csv_write_dict(self.kpi_csv.kpi_dict)
# ftp upload data for kpi.csv # ftp upload data for kpi.csv
if self.direction == "Upload": if self.direction == "Upload":
self.kpi_csv.kpi_dict['Graph-Group'] = "FTP Upload {band}".format( self.kpi_csv.kpi_dict['Graph-Group'] = "FTP Upload {band}".format(
@@ -946,7 +947,6 @@ class FtpTest(LFCliBase):
self.report.write_pdf_with_timestamp(_page_size='A4', _orientation='Landscape') self.report.write_pdf_with_timestamp(_page_size='A4', _orientation='Landscape')
def main(): def main():
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
prog='lf_ftp.py', prog='lf_ftp.py',
@@ -956,11 +956,11 @@ def main():
FTP Test Script - lf_ftp.py FTP Test Script - lf_ftp.py
--------------------------- ---------------------------
Summary: Summary:
lf_ftp.py will verify that N clients are connected on a specified band and can simultaneously download/upload lf_ftp.py will verify that N clients are connected on a specified band and can simultaneously download/upload
some amount of file data from the FTP server while measuring the time taken by clients to download/upload the file. some amount of file data from the FTP server while measuring the time taken by clients to download/upload the file.
--------------------------- ---------------------------
CLI Example: CLI Example:
./lf_ftp.py --ssid <SSID> --passwd <PASSWORD> --file_sizes 2MB --fiveg_duration <MIN> --mgr 192.168.1.101 ./lf_ftp.py --ssid <SSID> --passwd <PASSWORD> --file_sizes 2MB --fiveg_duration <MIN> --mgr 192.168.1.101
--traffic_duration <MIN> --security wpa2 --bands 5G --fiveg_radio wiphy1 --directions Download Upload --traffic_duration <MIN> --security wpa2 --bands 5G --fiveg_radio wiphy1 --directions Download Upload
--------------------------- ---------------------------
''') ''')
@@ -1128,7 +1128,7 @@ CLI Example:
# dictionary of whole data # dictionary of whole data
ftp_data[interation_num] = obj.ftp_test_data(time_list, pass_fail, args.bands, args.file_sizes, ftp_data[interation_num] = obj.ftp_test_data(time_list, pass_fail, args.bands, args.file_sizes,
args.directions, args.num_stations) args.directions, args.num_stations)
# print("pass_fail_duration - ftp_data:{ftp_data}".format(ftp_data=ftp_data)) # print("pass_fail_duration - ftp_data:{ftp_data}".format(ftp_data=ftp_data))
obj.stop() obj.stop()
obj.postcleanup() obj.postcleanup()
@@ -1141,7 +1141,7 @@ CLI Example:
date = str(datetime.now()).split(",")[0].replace(" ", "-").split(".")[0] date = str(datetime.now()).split(",")[0].replace(" ", "-").split(".")[0]
#print(ftp_data) # print(ftp_data)
test_setup_info = { test_setup_info = {
"AP Name": args.ap_name, "AP Name": args.ap_name,
@@ -1169,4 +1169,3 @@ CLI Example:
if __name__ == '__main__': if __name__ == '__main__':
main() main()