Adding a basic specter runner
Change-Id: I55434e6c1a6be69d615833001077b8c5076492d1
This commit is contained in:
parent
804d7f18bc
commit
269d121f9d
|
@ -13,3 +13,49 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
"""
|
"""
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
|
||||||
|
def parse_runner_args(arg_parser):
|
||||||
|
""" Generic CAFE args for external runners"""
|
||||||
|
|
||||||
|
arg_parser.add_argument(
|
||||||
|
"product",
|
||||||
|
nargs=1,
|
||||||
|
metavar="<product>",
|
||||||
|
help="Product name")
|
||||||
|
|
||||||
|
arg_parser.add_argument(
|
||||||
|
"config",
|
||||||
|
nargs=1,
|
||||||
|
metavar="<config_file>",
|
||||||
|
help="Product test config")
|
||||||
|
|
||||||
|
arg_parser.add_argument(
|
||||||
|
dest='cmd_opts',
|
||||||
|
nargs=argparse.REMAINDER,
|
||||||
|
metavar="<cmd_opts>",
|
||||||
|
help="Options to pass to the test runner")
|
||||||
|
|
||||||
|
return arg_parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
|
def print_mug(name, brewing_from):
|
||||||
|
""" Generic CAFE mug """
|
||||||
|
border = '-' * 40
|
||||||
|
mug = """
|
||||||
|
Brewing from {path}
|
||||||
|
( (
|
||||||
|
) )
|
||||||
|
.........
|
||||||
|
| |___
|
||||||
|
| |_ |
|
||||||
|
| :-) |_| |
|
||||||
|
| |___|
|
||||||
|
|_______|
|
||||||
|
=== CAFE {name} Runner ===""".format(
|
||||||
|
path=brewing_from, name=name)
|
||||||
|
|
||||||
|
print border
|
||||||
|
print mug
|
||||||
|
print border
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
"""
|
||||||
|
Copyright 2013 Rackspace
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
"""
|
|
@ -0,0 +1,52 @@
|
||||||
|
"""
|
||||||
|
Copyright 2013 Rackspace
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
"""
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
from cafe.configurator.managers import TestEnvManager
|
||||||
|
from cafe.drivers import print_mug, parse_runner_args
|
||||||
|
|
||||||
|
|
||||||
|
def entry_point():
|
||||||
|
|
||||||
|
# Setup and parse arguments
|
||||||
|
arg_parser = argparse.ArgumentParser(prog='specter-runner')
|
||||||
|
args = parse_runner_args(arg_parser)
|
||||||
|
|
||||||
|
config = str(args.config[0]) + '.config'
|
||||||
|
product = str(args.product[0])
|
||||||
|
cmd_opts = args.cmd_opts
|
||||||
|
|
||||||
|
test_env_manager = TestEnvManager(product, config)
|
||||||
|
test_env_manager.finalize()
|
||||||
|
|
||||||
|
test_path = os.path.join(
|
||||||
|
test_env_manager.test_repo_path, product)
|
||||||
|
|
||||||
|
call_args = ['specter', '--search', test_path, '--no-art']
|
||||||
|
|
||||||
|
if len(cmd_opts) > 0:
|
||||||
|
call_args.extend(cmd_opts)
|
||||||
|
|
||||||
|
print_mug(name='Specter', brewing_from=test_path)
|
||||||
|
|
||||||
|
subprocess.call(call_args)
|
||||||
|
exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
entry_point()
|
1
setup.py
1
setup.py
|
@ -92,5 +92,6 @@ setup(
|
||||||
['cafe-runner = cafe.drivers.unittest.runner:entry_point',
|
['cafe-runner = cafe.drivers.unittest.runner:entry_point',
|
||||||
'behave-runner = cafe.drivers.behave.runner:entry_point',
|
'behave-runner = cafe.drivers.behave.runner:entry_point',
|
||||||
'vows-runner = cafe.drivers.pyvows.runner:entry_point',
|
'vows-runner = cafe.drivers.pyvows.runner:entry_point',
|
||||||
|
'specter-runner = cafe.drivers.specter.runner:entry_point',
|
||||||
'cafe-config = cafe.configurator.cli:entry_point']},
|
'cafe-config = cafe.configurator.cli:entry_point']},
|
||||||
cmdclass={'install': install})
|
cmdclass={'install': install})
|
||||||
|
|
Loading…
Reference in New Issue