diff options
author | Doug Hellmann <doug@doughellmann.com> | 2018-03-22 18:04:06 -0400 |
---|---|---|
committer | Doug Hellmann <doug@doughellmann.com> | 2018-04-25 09:33:54 -0400 |
commit | b5ed14f90a8214700a9be2139d9e7aba82baaa99 (patch) | |
tree | 431621c7173bd21835e1690ebc2d37ee8f811a1c | |
parent | 5ed910cd32b0148b086ba4102a082aadb5e283bc (diff) | |
download | python-swiftclient-b5ed14f90a8214700a9be2139d9e7aba82baaa99.tar.gz |
add lower-constraints job
Create a tox environment for running the unit tests against the lower
bounds of the dependencies.
Create a lower-constraints.txt to be used to enforce the lower bounds
in those tests.
Add openstack-tox-lower-constraints job to the zuul configuration.
Update the dependencies needed to make the unit tests pass while
constrained to the lower bounds.
See http://lists.openstack.org/pipermail/openstack-dev/2018-March/128352.html
for more details.
Co-Authored-By: Nguyen Hai <nguyentrihai93@gmail.com>
Change-Id: I2a8f465c8b08370517cbec857933b08fca94ca38
Depends-On: https://review.openstack.org/555034
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
-rw-r--r-- | .zuul.yaml | 7 | ||||
-rw-r--r-- | lower-constraints.txt | 46 | ||||
-rw-r--r-- | requirements.txt | 9 | ||||
-rw-r--r-- | setup.cfg | 2 | ||||
-rw-r--r-- | setup.py | 14 | ||||
-rw-r--r-- | test-requirements.txt | 13 | ||||
-rw-r--r-- | tox.ini | 7 |
7 files changed, 84 insertions, 14 deletions
diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 0000000..67a39c4 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,7 @@ +- project: + check: + jobs: + - openstack-tox-lower-constraints + gate: + jobs: + - openstack-tox-lower-constraints diff --git a/lower-constraints.txt b/lower-constraints.txt new file mode 100644 index 0000000..6488b28 --- /dev/null +++ b/lower-constraints.txt @@ -0,0 +1,46 @@ +alabaster==0.7.10 +Babel==2.3.4 +certifi==2018.1.18 +chardet==3.0.4 +coverage==4.0 +docutils==0.11 +dulwich==0.15.0 +extras==1.0.0 +fixtures==3.0.0 +flake8==2.2.4 +futures==3.0.0 +hacking==0.10.0 +idna==2.6 +imagesize==0.7.1 +iso8601==0.1.8 +Jinja2==2.10 +keystoneauth1==3.4.0 +linecache2==1.0.0 +MarkupSafe==1.0 +mccabe==0.2.1 +mock==1.2.0 +netaddr==0.7.10 +openstackdocstheme==1.18.1 +oslo.config==1.2.0 +oslosphinx==4.7.0 +pbr==2.0.0 +pep8==1.5.7 +PrettyTable==0.7 +pyflakes==0.8.1 +Pygments==2.2.0 +python-keystoneclient==3.8.0 +python-mimeparse==1.6.0 +python-subunit==1.0.0 +pytz==2013.6 +PyYAML==3.12 +reno==2.5.0 +requests==2.14.2 +six==1.10.0 +snowballstemmer==1.2.1 +sphinx==1.6.2 +sphinxcontrib-websupport==1.0.1 +testrepository==0.0.18 +testtools==2.2.0 +traceback2==1.4.0 +unittest2==1.1.0 +urllib3==1.22 diff --git a/requirements.txt b/requirements.txt index 6d31e09..6b52791 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,6 @@ -futures>=3.0;python_version=='2.7' or python_version=='2.6' # BSD -requests>=1.1 -six>=1.5.2 +# 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. +futures>=3.0.0;python_version=='2.7' or python_version=='2.6' # BSD +requests>=2.14.2 # Apache-2.0 +six>=1.10.0 # MIT @@ -34,7 +34,7 @@ data_files = [extras] keystone = - python-keystoneclient>=0.7.0 + python-keystoneclient>=3.8.0 # Apache-2.0 [entry_points] console_scripts = @@ -17,10 +17,16 @@ # THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT import setuptools, sys -if sys.version_info < (2, 7): - sys.exit('Sorry, Python < 2.7 is not supported for' - ' python-swiftclient>=3.0') +import setuptools + +# In python < 2.7.4, a lazy loading of package `pbr` will break +# setuptools if some other modules registered functions in `atexit`. +# solution from: http://bugs.python.org/issue15881#msg170215 +try: + import multiprocessing # noqa +except ImportError: + pass setuptools.setup( - setup_requires=['pbr'], + setup_requires=['pbr>=2.0.0'], pbr=True) diff --git a/test-requirements.txt b/test-requirements.txt index a9a0c7f..634851e 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,9 +1,10 @@ -hacking>=0.10.0,<0.11 +hacking<0.11,>=0.10.0 -coverage>=3.6 -mock>=1.2 +coverage!=4.4,>=4.0 # Apache-2.0 +keystoneauth1>=3.4.0 # Apache-2.0 +mock>=1.2.0 # BSD oslosphinx>=4.7.0 # Apache-2.0 -sphinx>=1.1.2,<1.2 +sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD testrepository>=0.0.18 -reno>=1.8.0,!=2.3.1 # Apache-2.0 -openstackdocstheme>=1.16.0 # Apache-2.0 +reno>=2.5.0 # Apache-2.0 +openstackdocstheme>=1.18.1 # Apache-2.0 @@ -70,3 +70,10 @@ commands = bindep test [testenv:releasenotes] commands = sphinx-build -a -W -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html + +[testenv:lower-constraints] +basepython = python3 +deps = + -c{toxinidir}/lower-constraints.txt + -r{toxinidir}/test-requirements.txt + .[keystone] |