From 33fbc416baa00b0c39251841fc6069a8ae7f9720 Mon Sep 17 00:00:00 2001 From: Bhuvan Arumugam Date: Fri, 15 Jun 2012 23:09:14 -0700 Subject: [PATCH] Add tox tests/pep8 for devstack-gate scripts. Bug: 1010610 With this commit, we could run py26, py27 and pep8 tests against these scripts, using tox. * .gitignore Ignore build files. * MANIFEST.in List of files to include in sdist package. * setup.cfg Setup configuration. * setup.py Script to generate sdist package. * tools/pip-requires Pip dependency list. * tools/test-requires Extensive list of dependencies to execute tests. * tox.ini Tox targets. Change-Id: I3f14af096b3078214d0747c2ab99b0a42b5190e9 --- .gitignore | 16 +++++++++++++++- MANIFEST.in | 7 +++++++ setup.cfg | 10 ++++++++++ setup.py | 25 +++++++++++++++++++++++++ tools/pip-requires | 3 +++ tools/test-requires | 8 ++++++++ tox.ini | 12 ++++++++++++ 7 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 MANIFEST.in create mode 100644 setup.cfg create mode 100644 setup.py create mode 100644 tools/pip-requires create mode 100644 tools/test-requires create mode 100644 tox.ini diff --git a/.gitignore b/.gitignore index f3d74a9a..55cb5eb9 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,16 @@ *.pyc -*~ +*.swp +vendor +.ksl-venv +.venv +.tox +devstack_gate.egg-info/ +*.log +.coverage +covhtml +pep8.txt +nosetests.xml +*.db +.DS_Store +build/ +dist/ diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 00000000..1b54afac --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,7 @@ +include README.md +include setup.cfg +include setup.py +include tox.ini +graft tests +graft tools +global-exclude *.pyc *.sdx *.log *.db *.swp diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 00000000..c929b566 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,10 @@ +[egg_info] +tag_build = +tag_date = 0 +tag_svn_revision = 0 + +[nosetests] +verbosity=2 +detailed-errors=1 +cover-erase = true +cover-inclusive = true diff --git a/setup.py b/setup.py new file mode 100644 index 00000000..89d40325 --- /dev/null +++ b/setup.py @@ -0,0 +1,25 @@ +import os +import sys +import setuptools + + +setuptools.setup( + name="devstack-gate", + version="2012.2", + description="Devstack gate scripts used by Openstack CI team for testing longest line in this screen", + url='https://github.com/openstack-ci/devstack-gate', + license='Apache', + author='Openstack CI team', + author_email='openstack@lists.launchpad.net', + packages=setuptools.find_packages(exclude=['tests', 'tests.*']), + classifiers=[ + 'Development Status :: 4 - Beta', + 'Environment :: Console', + 'Intended Audience :: Developers', + 'Intended Audience :: Information Technology', + 'License :: OSI Approved :: Apache Software License', + 'Operating System :: OS Independent', + 'Programming Language :: Python', + ], + test_suite="nose.collector", +) diff --git a/tools/pip-requires b/tools/pip-requires new file mode 100644 index 00000000..be7d139f --- /dev/null +++ b/tools/pip-requires @@ -0,0 +1,3 @@ +# devstack-gate dependencies +sqlalchemy +sqlalchemy-migrate diff --git a/tools/test-requires b/tools/test-requires new file mode 100644 index 00000000..32f5acc1 --- /dev/null +++ b/tools/test-requires @@ -0,0 +1,8 @@ +# Testing +coverage # computes code coverage percentages +mox # mock object framework +nose # for test discovery and console feedback +nosexcover +pylint # static code analysis +pep8==0.6.1 # checks for PEP8 code style compliance +unittest2 # backport of unittest lib in python 2.7 diff --git a/tox.ini b/tox.ini new file mode 100644 index 00000000..6aac8c9c --- /dev/null +++ b/tox.ini @@ -0,0 +1,12 @@ +[tox] +envlist = py26,py27,pep8 + +[testenv] +deps = -r{toxinidir}/tools/pip-requires + -r{toxinidir}/tools/test-requires +commands = nosetests {posargs} + +[testenv:pep8] +deps = pep8 +commands = pep8 --count --repeat --show-source --exclude=.tox setup.py . +