Added tox target which checks requirements.txt

New tox target check that there is no missing or superfluous (unused)
requirements in requirements.txt.

Patch is copy/paste from Iff37af95269c38e4d435a53a21e5d60e2c5a3fa8
which do the same for Tempest projec.

This change also includes the fixes to requirements.txt needed
to pass the new tests.

Change-Id: Id52c5b140647268525120373ac19a63f72b12462
This commit is contained in:
Luz Cazares 2016-12-13 22:48:13 +00:00
parent 1d606b3554
commit f1ed8079ec
4 changed files with 28 additions and 8 deletions

@ -68,6 +68,16 @@ Clone the repository
``pip install -U pip``
**Install environment pre-requirements**
# App server
``pip install gunicorn==18``
# python mysql connector
``pip install PyMySQL>=0.6.2,!=0.6.4``
Install RefStack application
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

@ -2,15 +2,14 @@ SQLAlchemy>=0.8.3
alembic==0.5.0
beaker==1.6.5.post1
cryptography>=1.0,!=1.3.0 # BSD/Apache-2.0
#gunicorn 19.1.1 has a bug with threading module
gunicorn==18
oslo.config>=1.6.0 # Apache-2.0
oslo.db>=1.4.1 # Apache-2.0
oslo.log
oslo.log>=3.11.0
oslo.utils>=3.16.0 # Apache-2.0
six>=1.9.0 # MIT
pecan>=0.8.2
pyOpenSSL>=0.14
requests>=2.2.0,!=2.4.0
requests-cache>=0.4.9
jsonschema>=2.0.0,<3.0.0
PyMySQL>=0.6.2,!=0.6.4
PyJWT>=1.0.1 # MIT
PyJWT>=1.0.1 # MIT
WebOb>=1.6.0 # MIT

@ -10,5 +10,5 @@ oslotest>=1.2.0 # Apache-2.0
python-subunit>=0.0.18
testrepository>=0.0.18
testtools>=0.9.34
six>=1.7.0
pep257>=0.5.0
PyMySQL>=0.6.2,!=0.6.4

13
tox.ini

@ -2,7 +2,7 @@
# py34 tests should be run before py27
# it is a workaround for testr bug
# https://bugs.launchpad.net/testrepository/+bug/1229445
envlist = py34,py27,pep8
envlist = py34,py27,pep8,pip-check-reqs
minversion = 1.6
skipsdist = True
@ -59,3 +59,14 @@ ignore = E125,H404
show-source = true
builtins = _
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,tools,build
[testenv:pip-check-reqs]
# Do not install test-requirements as that will pollute the virtualenv for
# determining missing packages.
# This also means that pip-check-reqs must be installed separately, outside
# of the requirements.txt files
deps = pip_check_reqs
-r{toxinidir}/requirements.txt
commands=
pip-extra-reqs -d --ignore-file=refstack/tests/* refstack
pip-missing-reqs -d --ignore-file=refstack/tests/* refstack