aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/cmd
diff options
context:
space:
mode:
authorRex Lee <limingjiang@huawei.com>2017-02-16 09:38:29 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-02-16 09:38:29 +0000
commit4dad0ef54f2a8e445f9b113edbf298c3cf949213 (patch)
treebbc4c3e32f5faf776da5c2c7134e932853460068 /yardstick/cmd
parente1f5deb4c48824eeed79d7664e9ae5fbc555cfff (diff)
parentf4093d1c2bd64ff53320e9f689d0cd77590bbcee (diff)
Merge "Scenario is reporting result for last test only"
Diffstat (limited to 'yardstick/cmd')
-rw-r--r--yardstick/cmd/commands/task.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/yardstick/cmd/commands/task.py b/yardstick/cmd/commands/task.py
index 57c2b1526..16a4db291 100644
--- a/yardstick/cmd/commands/task.py
+++ b/yardstick/cmd/commands/task.py
@@ -14,7 +14,7 @@ from __future__ import absolute_import
from yardstick.benchmark.core.task import Task
from yardstick.common.utils import cliargs
from yardstick.common.utils import write_json_to_file
-from yardstick.common import constants as consts
+from yardstick.common.utils import read_json_from_file
from yardstick.cmd.commands import change_osloobj_to_paras
output_file_default = "/tmp/yardstick.out"
@@ -24,7 +24,7 @@ class TaskCommands(object):
"""Task commands.
Set of commands to manage benchmark tasks.
- """
+ """
@cliargs("inputfile", type=str, help="path to task or suite file", nargs=1)
@cliargs("--task-args", dest="task_args",
@@ -44,18 +44,25 @@ class TaskCommands(object):
action="store_true")
def do_start(self, args, **kwargs):
param = change_osloobj_to_paras(args)
+ self.output_file = param.output_file
self._init_result_file()
try:
Task().start(param, **kwargs)
+ self._finish()
except Exception as e:
self._write_error_data(e)
def _init_result_file(self):
data = {'status': 0, 'result': []}
- write_json_to_file(consts.DEFAULT_OUTPUT_FILE, data)
+ write_json_to_file(self.output_file, data)
+
+ def _finish(self):
+ result = read_json_from_file(self.output_file).get('result')
+ data = {'status': 1, 'result': result}
+ write_json_to_file(self.output_file, data)
def _write_error_data(self, error):
data = {'status': 2, 'result': str(error)}
- write_json_to_file(consts.DEFAULT_OUTPUT_FILE, data)
+ write_json_to_file(self.output_file, data)