diff options
author | Yu Yang (Gabriel) <Gabriel.yuyang@huawei.com> | 2016-11-29 02:04:11 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2016-11-29 02:04:11 +0000 |
commit | afea25c89a2d1ae1b1c7ca6641652c0adc0dba02 (patch) | |
tree | ab785bb75fbbce90d4a33b1ae5520ee4cf68640e | |
parent | 484f9305389c72cd13aae83192a4ff1eac0d1652 (diff) | |
parent | 7aaf17f0cfbcfcf12cb2e0424d9f3603b11431c3 (diff) |
Merge "Add CLI framework for Bottlenecks"
-rw-r--r-- | __init__.py | 0 | ||||
-rw-r--r-- | cli/__init__.py | 0 | ||||
-rw-r--r-- | cli/bottlenecks_cli.py | 43 | ||||
-rw-r--r-- | cli/command_group/__init__.py | 0 | ||||
-rw-r--r-- | cli/command_group/testcase.py | 26 | ||||
-rw-r--r-- | cli/setup.py | 26 | ||||
-rw-r--r-- | setup.py | 29 |
7 files changed, 124 insertions, 0 deletions
diff --git a/__init__.py b/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/__init__.py diff --git a/cli/__init__.py b/cli/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/cli/__init__.py diff --git a/cli/bottlenecks_cli.py b/cli/bottlenecks_cli.py new file mode 100644 index 00000000..0328578f --- /dev/null +++ b/cli/bottlenecks_cli.py @@ -0,0 +1,43 @@ +#!/usr/bin/env python +############################################################################## +# Copyright (c) 2016 Huawei Technologies Co.,Ltd 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 +############################################################################## + +import click + +from command_group.testcase import Testcase + +CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help']) + + +@click.group(context_settings=CONTEXT_SETTINGS) +@click.version_option(version='0.1') +@click.pass_context +def main(ctx): + """cli for bottlenecks project + + commands: + bottlenecks testcase run <testcase> + """ + pass + +_testcase = Testcase() + +@main.group() +@click.pass_context +def testcase(ctx): + """testcase cli group for bottlenecks project""" + pass + +@testcase.command('run', help="To execute a test case.") +@click.argument('testname', type=click.STRING, required=True) +@click.option('-n', '--noclean', is_flag=True, default=False, + help='Openstack resources created by the test' + 'will not be cleaned after the testcase execution.') +def testcase_run(testname, noclean): + _testcase.run(testname, noclean) diff --git a/cli/command_group/__init__.py b/cli/command_group/__init__.py new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/cli/command_group/__init__.py diff --git a/cli/command_group/testcase.py b/cli/command_group/testcase.py new file mode 100644 index 00000000..1fe0fba7 --- /dev/null +++ b/cli/command_group/testcase.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python +############################################################################## +# Copyright (c) 2016 Huawei Technologies Co.,Ltd 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 +############################################################################## + +import os + + +class Testcase(object): + """Test command group. + + Set of commnads to execute and list testcases + """ + + def __init__(self): + self.test_case_path = '/home/opnfv/bottlenecks/testsuites/' + self.test_case_list = [] + + def run(self, testname, noclean=False): + if testname == 'posca': + os.system('bash /home/opnfv/bottlenecks/run_tests.sh -s posca') diff --git a/cli/setup.py b/cli/setup.py new file mode 100644 index 00000000..28314910 --- /dev/null +++ b/cli/setup.py @@ -0,0 +1,26 @@ +#!/usr/bin/env python +############################################################################## +# Copyright (c) 2016 Huawei Technologies Co.,Ltd 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 setuptools import setup + +setup( + name='bottlenecks', + version='0.1', + py_modules=['bottlenecks_cli'], + include_package_data=True, + install_requires=[ + 'click', + ], + entry_points=''' + [console_scripts] + bottlenecks=bottlenecks_cli:main + ''', +) + diff --git a/setup.py b/setup.py new file mode 100644 index 00000000..38b8546b --- /dev/null +++ b/setup.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python +############################################################################## +# Copyright (c) 2016 Huawei Technologies Co.,Ltd 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 setuptools import setup, find_packages + + +setup( + name="bottlenecks", + version="master", + py_modules=['bottlenecks_cli'], + packages=find_packages(), + include_package_data=True, + package_data={ + }, + url="https://www.opnfv.org", + install_requires=["click"], + entry_points={ + 'console_scripts': [ + 'bottlenecks=cli.bottlenecks_cli:main' + ], + }, +) |