aboutsummaryrefslogtreecommitdiffstats
path: root/conftest.py
diff options
context:
space:
mode:
Diffstat (limited to 'conftest.py')
-rw-r--r--conftest.py172
1 files changed, 0 insertions, 172 deletions
diff --git a/conftest.py b/conftest.py
deleted file mode 100644
index fb89772..0000000
--- a/conftest.py
+++ /dev/null
@@ -1,172 +0,0 @@
-# -*- coding:utf-8 -*-
-import pytest
-import json
-import shutil
-import subprocess
-from jinja2 import Environment,FileSystemLoader
-
-import plugins.agl_test_conf as conf
-
-
-@pytest.fixture(scope='session' ,autouse=True)
-def setup_compress_function():
- #Before the test start, clean the env
- report_json = conf.TMP_LOGS_DIR + "report.json"
- output = subprocess.run(['ls',report_json],stdout=subprocess.PIPE,stderr=subprocess.PIPE)
- if(output.returncode == 0):
- subprocess.run(['rm',report_json])
-
- #Makdir of TMP_TEST_REPORT and REPORT_LOGS_DIR
- subprocess.run(['mkdir','-p',conf.TMP_TEST_REPORT])
- subprocess.run(['mkdir','-p',conf.REPORT_LOGS_DIR])
-
- yield
- #Collect report.json from all test sets to generate a report.json for all the test sets
- report_files = conf.TMP_LOGS_DIR + "report_files"
- with open(report_files,'w') as report_f:
- subprocess.run(['find','-name','report.json'],cwd=conf.TMP_LOGS_DIR,stdout=report_f)
- report_f.close()
-
- #Get the summary data and write to report.json file
- summary_data = get_summary_data(report_files)
- summary_json = conf.TMP_LOGS_DIR + "/report.json"
- with open(summary_json, 'w') as summary_file:
- json.dump(summary_data,summary_file,indent=4,sort_keys=False)
- summary_file.close()
-
- #Get zip file name
- issue = subprocess.getoutput('cat /etc/issue')
- version = issue[23:-7]
- machine_name = subprocess.getoutput('uname -n')
- date = subprocess.getoutput('date +%Y%m%d')
- zip_name = "agl-test-log-" + version + '-' + machine_name + '-' + date
-
- #Get summary_html_data
- summary_html_data = format_html_data(summary_data)
- summary_html_data["log_zip_name"] = zip_name
-
- #Get timestamp
- date_F = subprocess.getoutput("date +%F")
- summary_html_data["date_F"] = date_F
- date_T = subprocess.getoutput("date +%T")
- summary_html_data["date_T"] = date_T
-
- #Creat summary report in html
- env = Environment(loader=FileSystemLoader(conf.get_tpl_dir()))
- template = env.get_template("all_test_suites_tpl.html")
- html_path = conf.TMP_LOGS_DIR + "test-report/summary-report.html"
- with open(html_path, "w") as html_file:
- html_content = template.render(data=summary_html_data)
- html_file.write(html_content)
- html_file.close()
-
- #Copy summary report file
- source_file = conf.TMP_LOGS_DIR + "test-report/summary-report.html"
- target_file = conf.REPORT_LOGS_DIR + "summary-report.html"
- shutil.copyfile(source_file,target_file)
-
- #Package the test report
- base_name = conf.REPORT_LOGS_DIR + zip_name
- root_dir = conf.TMP_LOGS_DIR + "test-report"
- shutil.make_archive(base_name,"zip",root_dir)
-
-
-#Summarize all reports.json file
-def get_summary_data(report_files):
- summary_data = {}
- summary_total = summary_passed = summary_failed = summary_skipped = 0
- files = open(report_files)
- while True:
- report = files.readline()
- if not report:
- break
- report = report[1:-1]
- report_json = conf.TMP_LOGS_DIR + report
- with open(report_json,'r') as f:
- data = json.load(f)
-
- total = passed = xpassed = failed = xfailed = skipped = 0
- total = data["collected"]
- passed = data["passed"]
- xpassed = data["xpassed"]
- failed = data["failed"]
- xfailed = data["xfailed"]
- skipped = data["skipped"]
- test_status = data["test_status"]
- test_name = data["test_name"]
-
- this_summary = {
- 'total': total,
- 'passed': passed,
- 'xpassed': xpassed,
- 'failed': failed,
- 'xfailed': xfailed,
- 'skipped': skipped,
- 'test_status': test_status,
- }
- summary_data[test_name] = this_summary
-
- summary_total = summary_total + 1
- if(test_status=="passed"):
- summary_passed = summary_passed + 1
- elif(test_status=="failed"):
- summary_failed = summary_failed + 1
- else:
- summary_skipped = summary_skipped + 1
- f.close()
- summary_data["summary"] = {
- "summary_total": summary_total,
- "summary_passed": summary_passed,
- "summary_failed": summary_failed,
- "summary_skipped": summary_skipped,
- }
-
- status = ""
- if (summary_data["summary"]["summary_total"] == summary_data["summary"]["summary_skipped"]):
- status = "skipped"
- elif (summary_data["summary"]["summary_failed"] == 0):
- status = "passed"
- else:
- status = "failed"
- summary_data["summary"]["status"] = status
-
- return summary_data
-
-def format_html_data(summary_data):
- html_data = ""
- #init all rows
- for key in summary_data:
- if(key != "summary"):
- html_data += "\t\t\t<tbody class=\""
- html_data += summary_data[key]["test_status"] + "\">\n"
- html_data += "\t\t\t\t<tr>\n"
- html_data += "\t\t\t\t<td class=\"col-result\">"
- html_data += str.capitalize(summary_data[key]["test_status"])
- html_data += "</td>\n"
- html_data += "\t\t\t\t<td>" + key + "</td>\n"
- html_data += "\t\t\t\t<td>" + str(summary_data[key]["total"])
- html_data += "</td>\n"
- html_data += "\t\t\t\t<td>" + str(summary_data[key]["passed"])
- html_data += "</td>\n"
- html_data += "\t\t\t\t<td>" + str(summary_data[key]["skipped"])
- html_data += "</td>\n"
- html_data += "\t\t\t\t<td>" + str(summary_data[key]["failed"])
- html_data += "</td>\n"
- html_data += "\t\t\t\t<td>" + str(summary_data[key]["xfailed"])
- html_data += "</td>\n"
- html_data += "\t\t\t\t<td>" + str(summary_data[key]["xpassed"])
- html_data += "</td>\n"
- html_data += "\t\t\t\t</tr>\n"
- html_data += "\t\t\t</tbody>\n"
-
- summary_data["test_suite_table_html"] = html_data
-
- #Create summry status in html
- summry_status_html = ""
- summry_status_html += "\t\t<p>test suite status : <span class=\""
- summry_status_html += summary_data["summary"]["status"] + "\">"
- summry_status_html += str.capitalize(summary_data["summary"]["status"])
- summry_status_html += "</span></p>"
- summary_data["summry_status_html"] = summry_status_html
-
- return summary_data