From c62baf6b2cfb901109e31e0b34a193b0ece99b79 Mon Sep 17 00:00:00 2001 From: rexlee8776 <limingjiang@huawei.com> Date: Mon, 28 Mar 2016 04:35:56 -0400 Subject: add "yardstick testcase show" command function "yardstick testcase show" will show the details of specific test case yardstick testcase show <case-name> (e.g. yardstick testcase show opnfv_yardstick_tc001) JIRA:- Change-Id: Ibb91625dc3e6802855f28160ee0aa8c7e386cf7a Signed-off-by: rexlee8776 <limingjiang@huawei.com> --- tests/unit/cmd/commands/test_testcase.py | 9 +++++++++ yardstick/cmd/commands/testcase.py | 21 +++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/tests/unit/cmd/commands/test_testcase.py b/tests/unit/cmd/commands/test_testcase.py index 351e5e79f..c55c367d0 100644 --- a/tests/unit/cmd/commands/test_testcase.py +++ b/tests/unit/cmd/commands/test_testcase.py @@ -17,6 +17,10 @@ import unittest from yardstick.cmd.commands import testcase from yardstick.cmd.commands.testcase import TestcaseCommands +class Arg(object): + def __init__(self): + self.casename=('opnfv_yardstick_tc001',) + class TestcaseCommandsUT(unittest.TestCase): def test_do_list(self): @@ -24,4 +28,9 @@ class TestcaseCommandsUT(unittest.TestCase): result = t.do_list("") self.assertEqual(result, True) + def test_do_show(self): + t = testcase.TestcaseCommands() + casename = Arg() + result = t.do_show(casename) + self.assertEqual(result, True) diff --git a/yardstick/cmd/commands/testcase.py b/yardstick/cmd/commands/testcase.py index c37fcc214..5205eb93e 100644 --- a/yardstick/cmd/commands/testcase.py +++ b/yardstick/cmd/commands/testcase.py @@ -10,6 +10,7 @@ """ Handler for yardstick command 'testcase' """ from yardstick.cmd import print_hbar from yardstick.common.task_template import TaskTemplate +from yardstick.common.utils import cliargs import os import yaml import sys @@ -42,6 +43,26 @@ class TestcaseCommands(object): self._format_print(self.testcase_list) return True + @cliargs("casename", type=str, help="test case name", nargs=1) + def do_show(self, args): + '''Show details of a specific test case''' + testcase_name = args.casename[0] + testcase_path = self.test_case_path + testcase_name + ".yaml" + try: + with open(testcase_path) as f: + try: + testcase_info = f.read() + print testcase_info + + except Exception as e: + print(("Failed to load test cases:" + "\n%(testcase_file)s\n%(err)s\n") + % {"testcase_file": testcase_path, "err": e}) + raise e + except IOError as ioerror: + sys.exit(ioerror) + return True + def _get_record(self, testcase_file): try: -- cgit