import json
import subprocess
import signal
-
+from oslo_serialization import jsonutils
from six.moves import input
raise SystemExit(1)
-def handler():
+def sigint_handler(*args, **kwargs):
""" Capture ctrl+c and exit cli """
subprocess.call(["pkill", "-9", "yardstick"])
raise SystemExit(1)
-signal.signal(signal.SIGINT, handler)
-
class YardstickNSCli(object):
""" This class handles yardstick network serivce testing """
def generate_final_report(self, test_case):
""" Function will check if partial test results are available
and generates final report in rst format.
-"""
+ """
report_caption = '{}\n{} ({})\n{}\n\n'.format(
'================================================================',
if os.path.isfile("/tmp/yardstick.out"):
lines = []
with open("/tmp/yardstick.out") as infile:
- lines = infile.readlines()
+ lines = jsonutils.load(infile)
if lines:
- tc_res = json.loads(lines.pop(len(lines) - 1))
+ lines = lines['result']
+ tc_res = lines.pop(len(lines) - 1)
for key, value in tc_res["benchmark"]["data"].items():
self.generate_kpi_results(key, value)
self.generate_nfvi_results(value)
self.run_test(args, test_path)
if __name__ == "__main__":
+ signal.signal(signal.SIGINT, sigint_handler)
NS_CLI = YardstickNSCli()
NS_CLI.main()