lf_check.py : stored simplified version of LANforge in meta file

lf_qa.py : read test_tag from meta file

Signed-off-by: Chuck SmileyRekiere <chuck.smileyrekiere@candelatech.com>
This commit is contained in:
Chuck SmileyRekiere
2021-08-21 11:58:13 -06:00
parent d6fb708406
commit 93b983d0cf
2 changed files with 60 additions and 16 deletions

View File

@@ -126,6 +126,10 @@ class lf_check():
self.background_purple = "background-color:purple"
self.background_blue = "background-color:blue"
# LANforge information
self.lanforge_gui_version_full = ""
self.lanforge_gui_version = ""
# results
self.test_start_time = ""
self.test_end_time = ""
@@ -285,12 +289,14 @@ class lf_check():
ssh.connect(hostname=self.lf_mgr_ip, port=22, username=self.lf_mgr_user, password=self.lf_mgr_pass,
allow_agent=False, look_for_keys=False, banner_timeout=600)
stdin, stdout, stderr = ssh.exec_command('./btserver --version | grep Version')
lanforge_gui_version = stdout.readlines()
self.lanforge_gui_version_full = stdout.readlines()
# print('\n'.join(output))
lanforge_gui_version = [line.replace('\n', '') for line in lanforge_gui_version]
self.lanforge_gui_version_full = [line.replace('\n', '') for line in self.lanforge_gui_version_full]
self.lanforge_gui_version = self.lanforge_gui_verion_full.split('Version:',maxsplit=1)[-1].split(maxsplit=1)[0]
self.lanforge_gui_version = self.lanforge_gui_version.strip()
ssh.close()
time.sleep(1)
return lanforge_gui_version
return self.lanforge_gui_version_full
def get_radio_status(self):
radio_status = self.json_get("/radiostatus/all")
@@ -1042,21 +1048,21 @@ NOTE: Diagrams are links in dashboard""".format(ip_qa=ip,qa_url=qa_url)
break
stdout_log_fd.close()
if meta_data_path != "":
meta_data = open(meta_data_path,'w')
meta_data.write('$ Generated by Candela Technologies LANforge network testing tool\n')
meta_data.write('$ meta.txt file location\n')
meta_data.write("file {path}\n".format(path=meta_data_path))
meta_data.write('$ LANforge command\n')
meta_data.write("command {command}\n".format(command=command))
meta_data_fd = open(meta_data_path,'w')
meta_data_fd.write('$ Generated by Candela Technologies LANforge network testing tool\n')
meta_data_fd.write('$ meta.txt file location\n')
meta_data_fd.write("file {path}\n".format(path=meta_data_path))
meta_data_fd.write('$ LANforge GUI\n')
meta_data_fd.write('gui_version: {gui_version}'.format(gui_version=self.lanforge_gui_version))
meta_data_fd.write('$ LANforge command\n')
meta_data_fd.write("command {command}\n".format(command=command))
# split command at test-tag , at rest of string once at the actual test-tag value
test_tag = command.split('test_tag',maxsplit=1)[-1].split(maxsplit=1)[0]
test_tag = test_tag.replace("'","")
meta_data.write('$ LANforge command\n')
meta_data.write("test_tag {test_tag}\n".format(test_tag=test_tag))
meta_data.write('$ LANforge Information\n')
meta_data.close()
meta_data_fd.write('$ LANforge test_tag\n')
meta_data_fd.write("test_tag {test_tag}\n".format(test_tag=test_tag))
meta_data_fd.write('$ LANforge Information\n')
meta_data_fd.close()
if self.test_result != "TIMEOUT":
stderr_log_size = os.path.getsize(stderr_log_txt)

View File

@@ -114,6 +114,39 @@ class csv_sqlite_dash():
print("exception reading csv _kpi_path {}".format(_kpi_path))
return test_id , test_tag
# could enter on the command line, except there may be other exceptions
# may need an exception file
def get_test_tag_from_meta(self,_kpi_path):
test_tag = "NA"
use_meta_test_tag = False
gui_version_5_4_3 = False
try:
meta_data_path = _kpi_path + '/' + '/meta.txt'
meta_data_fd = open(meta_data_path, 'r')
for line in meta_data_fd:
if "gui_version:" in line:
gui_version = line.replace("gui_version:","")
gui_version = gui_version.strip()
if gui_version =='5.4.3':
gui_version_5_4_3 = True
use_meta_test_tag = True
print("meta_data_path: {meta_data_path} gui_version: {gui_version} 5.4.3: {gui_version_5_4_3}".format(
meta_data_path=meta_data_path,gui_version=gui_version,gui_version_5_4_3=gui_version_5_4_3))
meta_data_fd.close()
if gui_version_5_4_3:
meta_data_fd = open(meta_data_path, 'r')
test_tag = 'NA'
for line in meta_data_fd:
if "test_tag" in line:
test_tag = line.replace("test_tag","")
test_tag = test_tag.strip()
print("meta_data_path {meta_data_path} test_tag {test_tag}".format(meta_data_path=meta_data_path,test_tag=test_tag))
meta_data_fd.close()
except:
print("exception reading test_tag from {_kpi_path}".format(_kpi_path=_kpi_path))
return use_meta_test_tag, test_tag
#TODO pass in list to lf_report
# <table border="1" class="dataframe">
def get_suite_html(self):
@@ -208,7 +241,11 @@ class csv_sqlite_dash():
for kpi in self.kpi_list: #TODO note empty kpi.csv failed test
df_kpi_tmp = pd.read_csv(kpi, sep='\t')
df_kpi_tmp['kpi_path'] = str(kpi).replace('kpi.csv','') # only store the path to the kpi.csv file
_kpi_path = str(kpi).replace('kpi.csv','') # only store the path to the kpi.csv file
df_kpi_tmp['kpi_path'] = _kpi_path
use_meta_test_tag, test_tag = self.get_test_tag_from_meta(_kpi_path)
if use_meta_test_tag:
df_kpi_tmp['test_tag'] = test_tag
df_kpi_tmp = df_kpi_tmp.append(df_kpi_tmp, ignore_index=True)
self.df = self.df.append(df_kpi_tmp, ignore_index=True)
@@ -244,6 +281,7 @@ class csv_sqlite_dash():
test_tag_list = list(set(test_tag_list))
print("test_tag_list: {}".format(test_tag_list) )
test_rig_list = list(df3['test-rig'])
test_rig_list = list(set(test_rig_list))
self.test_rig_list = test_rig_list