initial commit framing out stuff

This commit is contained in:
Chris MacNaughton
2017-12-04 17:01:09 +01:00
commit c3e5adcb4d
7 changed files with 150 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
.tox
*.pyc

89
setup.py Normal file
View File

@@ -0,0 +1,89 @@
# -*- coding: utf-8 -*-
from __future__ import print_function
import os
import sys
from setuptools import setup, find_packages
from setuptools.command.test import test as TestCommand
version = "0.0.1.dev1"
install_require = [
]
tests_require = [
'tox >= 2.3.1',
]
class Tox(TestCommand):
user_options = [('tox-args=', 'a', "Arguments to pass to tox")]
def initialize_options(self):
TestCommand.initialize_options(self)
self.tox_args = None
def finalize_options(self):
TestCommand.finalize_options(self)
self.test_args = []
self.test_suite = True
def run_tests(self):
#import here, cause outside the eggs aren't loaded
import tox
import shlex
args = self.tox_args
# remove the 'test' arg from argv as tox passes it to ostestr which
# breaks it.
sys.argv.pop()
if args:
args = shlex.split(self.tox_args)
errno = tox.cmdline(args=args)
sys.exit(errno)
if sys.argv[-1] == 'publish':
os.system("python setup.py sdist upload")
os.system("python setup.py bdist_wheel upload")
sys.exit()
if sys.argv[-1] == 'tag':
os.system("git tag -a %s -m 'version %s'" % (version, version))
os.system("git push --tags")
sys.exit()
setup(
name='zaza',
version=version,
description='Provides test automation for Openstack Charms',
classifiers=[
"Development Status :: 2 - Pre-Alpha",
"Intended Audience :: Developers",
"Topic :: System",
"Topic :: System :: Installation/Setup",
"Topic :: System :: Software Distribution",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.5",
"License :: OSI Approved :: Apache Software License",
],
entry_points={
'console_scripts': [
'tempest-config = zaza.tempest_config:main',
]
},
url='https://github.com/openstack-charmers/zaza',
author='Chris MacNaughton',
author_email='chris.macnaughton@canonical.com',
license='Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0',
packages=find_packages(exclude=["unit_tests"]),
zip_safe=False,
cmdclass={'test': Tox},
install_requires=install_require,
extras_require={
'testing': tests_require,
},
tests_require=tests_require,
)

3
test-requirements.txt Normal file
View File

@@ -0,0 +1,3 @@
flake8>=2.2.4,<=2.4.1
mock>=1.2
nose>=1.3.7

34
tox.ini Normal file
View File

@@ -0,0 +1,34 @@
[tox]
envlist = pep8,py27,py34,py35,py36
skipsdist = True
skip_missing_interpreters = True
[testenv]
setenv = VIRTUAL_ENV={envdir}
PYTHONHASHSEED=0
install_command =
pip install --allow-unverified python-apt {opts} {packages}
commands = nosetests {posargs} {toxinidir}/unit_tests
[testenv:py34]
basepython = python3.4
deps = -r{toxinidir}/test-requirements.txt
[testenv:py35]
basepython = python3.5
deps = -r{toxinidir}/test-requirements.txt
[testenv:py36]
basepython = python3.6
deps = -r{toxinidir}/test-requirements.txt
[testenv:pep8]
basepython = python3.6
deps = -r{toxinidir}/test-requirements.txt
commands = flake8 {posargs} zaza unit_tests
[testenv:venv]
commands = {posargs}
[flake8]
ignore = E402,E226

0
unit_tests/__init__.py Normal file
View File

0
zaza/__init__.py Normal file
View File

22
zaza/tempest_config.py Normal file
View File

@@ -0,0 +1,22 @@
import argparse
import zaza
def parser(args=None):
parser = argparse.ArgumentParser(
description='build tempest config from currently deployed model')
parser.add_argument('blacklist',
help='Comma seperated list of'
'additional tests to ignore',
default='', nargs='?')
return parser.parse_known_args(args)
def main():
a, extra = parser()
blacklist = list(filter(bool, a.blacklist.split(",")))
print("Starting with blacklist of {}".format(blacklist))
if __name__ == '__main__':
main()