diff --git a/setup.py b/setup.py index 394c2a7..efa86fb 100644 --- a/setup.py +++ b/setup.py @@ -18,19 +18,19 @@ from setuptools import setup setup( - name = 'swift-ceph-backend', - version = '0.1', - description = 'Ceph backend for OpenStack Swift', - license = 'Apache License (2.0)', - packages = ['swift_ceph_backend'], - classifiers = [ + name='swift-ceph-backend', + version='0.1', + description='Ceph backend for OpenStack Swift', + license='Apache License (2.0)', + packages=['swift_ceph_backend'], + classifiers=[ 'License :: OSI Approved :: Apache Software License', 'Operating System :: POSIX :: Linux', 'Programming Language :: Python :: 2.6', 'Environment :: No Input/Output (Daemon)'], - install_requires = ['swift', ], - entry_points = { + install_requires=['swift', ], + entry_points={ 'paste.app_factory': [ - 'rados_object = swift_ceph_backend.rados_server:app_factory'], + 'rados_object=swift_ceph_backend.rados_server:app_factory'], }, ) diff --git a/swift_ceph_backend/rados_server.py b/swift_ceph_backend/rados_server.py index 8d5bbb5..f2e38c2 100644 --- a/swift_ceph_backend/rados_server.py +++ b/swift_ceph_backend/rados_server.py @@ -27,9 +27,10 @@ from swift.common.bufferedhttp import http_connect from swift.common.exceptions import ConnectionTimeout from swift.common.http import is_success -from swift.obj.rados_diskfile import RadosFileSystem from swift.obj import server +from swift_ceph_backend.rados_diskfile import RadosFileSystem + class ObjectController(server.ObjectController): """ diff --git a/tests/test_rados_server.py b/tests/test_rados_server.py index 513cab3..b501be6 100644 --- a/tests/test_rados_server.py +++ b/tests/test_rados_server.py @@ -23,8 +23,12 @@ sys.modules['rados'] = MOCK_RADOS import cStringIO import unittest -from test.unit.proxy import test_server -from test.unit.proxy.test_server import teardown +try: + from test.unit.proxy import test_server + from test.unit.proxy.test_server import teardown +except ImportError: + import nose.plugins.skip as skip + raise skip.SkipTest("Swift test environ not installed") from swift_ceph_backend import rados_server diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..d937f63 --- /dev/null +++ b/tox.ini @@ -0,0 +1,43 @@ +[tox] +envlist = py26,py27,pep8 +minversion = 1.6 +skipsdist = True + +[testenv] +usedevelop = True +install_command = pip install {opts} {packages} +deps = + https://launchpad.net/swift/icehouse/1.13.1/+download/swift-1.13.1.tar.gz +commands = nosetests {posargs:tests} +setenv = VIRTUAL_ENV={envdir} + NOSE_WITH_OPENSTACK=1 + NOSE_OPENSTACK_COLOR=1 + NOSE_OPENSTACK_RED=0.05 + NOSE_OPENSTACK_YELLOW=0.025 + NOSE_OPENSTACK_SHOW_ELAPSED=1 + NOSE_OPENSTACK_STDOUT=1 + NOSE_WITH_COVERAGE=1 + NOSE_COVER_BRANCHES=1 + +[testenv:pep8] +commands = flake8 + +[testenv:venv] +commands = {posargs} + +[testenv:cover] +setenv = VIRTUAL_ENV={envdir} + NOSE_WITH_COVERAGE=1 + NOSE_COVER_BRANCHES=1 + NOSE_COVER_HTML=1 + NOSE_COVER_HTML_DIR={toxinidir}/cover + +[tox:jenkins] +downloadcache = ~/cache/pip + +[flake8] +# follow the same style guidelines with swift +ignore = H +select = H102,H103,H201,H501,H903 +exclude = .venv,.git,.tox,dist,doc,*egg,build +show-source = True