From eb2461a4d4e56bf6e9217c94c53efa5e043abbe1 Mon Sep 17 00:00:00 2001 From: linux_geek Date: Thu, 27 Oct 2016 00:35:59 +0500 Subject: Cli list option for perftest JIRA: QTIP-141 Change-Id: I07e67396b894353a1047471aaae62d64365d51f3 Signed-off-by: Taseer Ahmed --- cli/commands/perftest.py | 55 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 cli/commands/perftest.py (limited to 'cli/commands') diff --git a/cli/commands/perftest.py b/cli/commands/perftest.py new file mode 100644 index 00000000..c163070a --- /dev/null +++ b/cli/commands/perftest.py @@ -0,0 +1,55 @@ +############################################################################## +# Copyright (c) 2016 ZTE Corp and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +from prettytable import PrettyTable +import yaml +import click + + +class PerfTest: + + def __init__(self): + self.path = 'benchmarks/perftest/summary' + + def list(self): + table = PrettyTable(["Name", "Description"]) + table.align = 'l' + with open(self.path) as tests: + line = tests.read() + data = yaml.safe_load(line)['test_cases'] + for i in range(0, len(data)): + points = data[i] + table.add_row([points['name'], points['description']]) + click.echo(table) + + def run(self): + click.echo("Run a perftest") + + +@click.group() +def cli(): + pass + + +@cli.group() +@click.pass_context +def perftest(ctx): + pass + +_perftest = PerfTest() + + +@perftest.command("list", help="Lists all perftest benchmarks.") +def list(): + _perftest.list() + + +@perftest.command("run", help="Executes a single perftest benchmark.") +def execute(): + _perftest.run() -- cgit