From da62008a0a98cb8793ea42827a7da5e149edd144 Mon Sep 17 00:00:00 2001 From: chenjiankun Date: Mon, 26 Jun 2017 09:46:24 +0000 Subject: Call core code directly in the API of run test case JIRA: YARDSTICK-688 We need to call core code directly in the API of runTestCase. It would be more stable. Change-Id: I431a85ded7cd3b20da0462f947c25d91bb99decd Signed-off-by: chenjiankun --- api/resources/samples_action.py | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) (limited to 'api/resources/samples_action.py') diff --git a/api/resources/samples_action.py b/api/resources/samples_action.py index 3093864e0..10b9980af 100644 --- a/api/resources/samples_action.py +++ b/api/resources/samples_action.py @@ -11,32 +11,35 @@ import uuid import os import logging -from api.utils import common as common_utils +from api.utils.common import result_handler +from api.utils.thread import TaskThread from yardstick.common import constants as consts +from yardstick.benchmark.core import Param +from yardstick.benchmark.core.task import Task logger = logging.getLogger(__name__) +logger.setLevel(logging.DEBUG) -def runTestCase(args): +def run_test_case(args): try: - opts = args.get('opts', {}) - testcase_name = args['testcase'] + case_name = args['testcase'] except KeyError: - return common_utils.error_handler('Lack of testcase argument') + return result_handler(consts.API_ERROR, 'testcase must be provided') - testcase = os.path.join(consts.SAMPLE_CASE_DIR, testcase_name + '.yaml') + testcase = os.path.join(consts.SAMPLE_CASE_DIR, + '{}.yaml'.format(case_name)) task_id = str(uuid.uuid4()) - command_list = ['task', 'start'] - command_list = common_utils.get_command_list(command_list, opts, testcase) - logger.debug('The command_list is: %s', command_list) - - logger.debug('Start to execute command list') - task_dict = { - 'task_id': task_id, - 'details': testcase_name + task_args = { + 'inputfile': [testcase], + 'task_id': task_id } - common_utils.exec_command_task(command_list, task_dict) + task_args.update(args.get('opts', {})) + + param = Param(task_args) + task_thread = TaskThread(Task().start, param) + task_thread.start() - return common_utils.result_handler('success', task_id) + return result_handler(consts.API_SUCCESS, {'task_id': task_id}) -- cgit 1.2.3-korg