Fix tox -e py34

* Add requirements-py3.txt: get the master branch of glance_store from
  github until a new release of glance_store including all my Python 3
  fixed will be released.
* Add test-requirements-py3.txt: remove qpid-python and MySQL-python
  (not compatible with Python 3), add PyMySQL
* tox.ini: add py34 test environment running tests with testtools.run.
  Use a whitelist of tests which are known to pass on Python 3.4. testr
  cannot be used because it loads all tests, and not all tests are
  compatible with Python 3.4 yet.

Change-Id: If19af8351e9497db26c9cd62393d22d2043a3903
This commit is contained in:
Victor Stinner 2015-06-19 14:16:38 +02:00
parent 5a809eac5d
commit e766b9e47f
3 changed files with 124 additions and 0 deletions

64
requirements-py3.txt Normal file
View File

@ -0,0 +1,64 @@
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
pbr>=0.11,<2.0
#
# The greenlet package must be compiled with gcc and needs
# the Python.h headers. Make sure you install the python-dev
# package to get the right headers...
greenlet>=0.3.2
# < 0.8.0/0.8 does not work, see https://bugs.launchpad.net/bugs/1153983
SQLAlchemy>=0.9.7,<=0.9.99
anyjson>=0.3.3
eventlet>=0.17.3
PasteDeploy>=1.5.0
Routes>=1.12.3,!=2.0
WebOb>=1.2.3
sqlalchemy-migrate>=0.9.5
httplib2>=0.7.5
kombu>=3.0.7
pycrypto>=2.6
iso8601>=0.1.9
oslo.config>=1.11.0 # Apache-2.0
oslo.concurrency>=1.8.0 # Apache-2.0
oslo.context>=0.2.0 # Apache-2.0
oslo.utils>=1.4.0 # Apache-2.0
stevedore>=1.3.0 # Apache-2.0
taskflow>=0.7.1
keystonemiddleware>=1.5.0
WSME>=0.6
# For openstack/common/lockutils
posix_ipc
# For Swift storage backend.
python-swiftclient>=2.2.0
# For VMware storage backed.
oslo.vmware>=0.11.1 # Apache-2.0
# For paste.util.template used in keystone.common.template
Paste
jsonschema>=2.0.0,<3.0.0
python-keystoneclient>=1.3.0
pyOpenSSL>=0.11
# Required by openstack.common libraries
six>=1.9.0
oslo.db>=1.7.0 # Apache-2.0
oslo.i18n>=1.5.0 # Apache-2.0
oslo.log>=1.0.0 # Apache-2.0
oslo.messaging>=1.8.0 # Apache-2.0
oslo.policy>=0.3.1 # Apache-2.0
oslo.serialization>=1.4.0 # Apache-2.0
retrying>=1.2.3,!=1.3.0 # Apache-2.0
osprofiler>=0.3.0 # Apache-2.0
# Glance Store
-e git+https://github.com/openstack/glance_store.git#egg=glance_store
# Artifact repository
semantic_version>=2.3.1

33
test-requirements-py3.txt Normal file
View File

@ -0,0 +1,33 @@
# The order of packages is significant, because pip processes them in the order
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
# Hacking already pins down pep8, pyflakes and flake8
hacking>=0.10.0,<0.11
# For translations processing
Babel>=1.3
# Needed for testing
coverage>=3.6
discover
fixtures>=0.3.14
mox3>=0.7.0
mock>=1.0
sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3
requests>=2.5.2
testrepository>=0.0.18
testtools>=0.9.36,!=1.2.0
psutil>=1.1.1,<2.0.0
oslotest>=1.5.1 # Apache-2.0
# Optional packages that should be installed when testing
PyMySQL>=0.6.2 # MIT License
psycopg2
pysendfile>=2.0.0
xattr>=0.4
# Documentation
oslosphinx>=2.5.0 # Apache-2.0
# Glance catalog index
elasticsearch>=1.3.0

27
tox.ini
View File

@ -16,6 +16,33 @@ passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
[tox:jenkins]
downloadcache = ~/cache/pip
[testenv:py34]
deps = -r{toxinidir}/requirements-py3.txt
-r{toxinidir}/test-requirements-py3.txt
commands =
python -m testtools.run \
glance.tests.unit.common.test_client \
glance.tests.unit.common.test_property_utils \
glance.tests.unit.common.test_scripts \
glance.tests.unit.common.test_swift_store_utils \
glance.tests.unit.test_artifacts_plugin_loader \
glance.tests.unit.test_auth \
glance.tests.unit.test_cached_images \
glance.tests.unit.test_context \
glance.tests.unit.test_context_middleware \
glance.tests.unit.test_domain \
glance.tests.unit.test_domain_proxy \
glance.tests.unit.test_gateway \
glance.tests.unit.test_image_cache_client \
glance.tests.unit.test_jsonpatchmixin \
glance.tests.unit.test_manage \
glance.tests.unit.test_notifier \
glance.tests.unit.test_opts \
glance.tests.unit.test_schema \
glance.tests.unit.test_scrubber \
glance.tests.unit.test_store_artifact \
glance.tests.unit.test_store_location
[testenv:pep8]
commands =
flake8 {posargs}