From c05150bfcae5d3821d35220d8105e800b26dc20b Mon Sep 17 00:00:00 2001 From: David Shrewsbury Date: Thu, 13 Sep 2012 16:25:53 -0400 Subject: [PATCH] Integrate pytest testing. --- .gitignore | 1 + setup.cfg | 6 ++---- setup.py | 31 ++++++++++++++++++++++++++++++- tools/test-requires | 2 +- tox.ini | 7 +++++-- 5 files changed, 39 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index d68ebbdc..b9c73dba 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ *.egg-info dist build +.cache diff --git a/setup.cfg b/setup.cfg index 83c67de0..2e24f7bc 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,4 +1,2 @@ -[nosetests] -verbosity=2 -detailed-errors=1 -where=tests +[pytest] +addopts = --verbose diff --git a/setup.py b/setup.py index fa7ed1ae..eb3a23f0 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,32 @@ +# Copyright 2012 Hewlett-Packard Development Company, L.P. +# +# 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 setuptools +from setuptools.command.test import test as TestCommand + + +class PyTest(TestCommand): + 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 pytest + pytest.main(self.test_args) + setuptools.setup( name="lbaas_worker", @@ -7,11 +35,12 @@ setuptools.setup( author="David Shrewsbury", author_email="shrewsbury.dave@gmail.com", packages=setuptools.find_packages(exclude=["*.tests"]), - test_suite='nose.collector', entry_points={ 'console_scripts': [ 'lbaas_worker = lbaas_worker.worker:main' ] }, + cmdclass={'test': PyTest}, + tests_require=['pytest-pep8'], install_requires=['gearman', 'python-daemon'], ) diff --git a/tools/test-requires b/tools/test-requires index f3c7e8e6..922f930d 100644 --- a/tools/test-requires +++ b/tools/test-requires @@ -1 +1 @@ -nose +pytest-pep8 diff --git a/tox.ini b/tox.ini index 9bb9d109..021b02d9 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,10 @@ [tox] -envlist = py27 +envlist = py27,pep8 [testenv] deps = -r{toxinidir}/tools/pip-requires -r{toxinidir}/tools/test-requires -commands = nosetests +commands = py.test + +[testenv:pep8] +commands = py.test --pep8 -k pep8 --clearcache