summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElod Illes <elod.illes@est.tech>2019-06-25 17:42:11 +0200
committerElod Illes <elod.illes@est.tech>2019-07-04 12:52:06 +0200
commitec50bb8fa46f909d642f1f3af4f3c3d558d11de8 (patch)
tree3b349804ae1385c79b20a4b84cb74518822ed2ff
parent941619d8c5dc244ae780355415686a0838ca9913 (diff)
downloadheat-ec50bb8fa46f909d642f1f3af4f3c3d558d11de8.tar.gz
Add local bindep.txt and limit bandit version
As it was announced [1] global bindep-fallback.txt was removed and now projects need to have a local bindep.txt to be able to install binary dependencies for testing. In test jobs the script tools/test-setup.sh is called which requires mysql and postgres servers and clients to be installed. [1] http://lists.openstack.org/pipermail/openstack-discuss/2019-June/007272.html (cherry picked from commit d116b216965bbfc80840f5bfc994b731e2d29d81) Note(elod.illes): patch was modified so that the test-requires files are kept. An upper constraint was also added for bandit. This actually freezes requirements (required by bandit) on stable branch. Change-Id: If9befe4115c64c2fda52321002ba5fe1124eaf7c (cherry picked from commit 916fd05627dddce33a577038f983e17295cc44e8)
-rw-r--r--bindep.txt41
-rw-r--r--test-requirements.txt2
-rw-r--r--tox.ini12
3 files changed, 54 insertions, 1 deletions
diff --git a/bindep.txt b/bindep.txt
new file mode 100644
index 000000000..7071c188b
--- /dev/null
+++ b/bindep.txt
@@ -0,0 +1,41 @@
+# This is a cross-platform list tracking distribution packages needed for install and tests;
+# see https://docs.openstack.org/infra/bindep/ for additional information.
+
+mysql-server [platform:dpkg]
+mariadb-server [platform:redhat]
+postgresql
+
+build-essential [platform:dpkg]
+python-dev [platform:dpkg]
+python3-all-dev [platform:dpkg]
+libxml2-dev [platform:dpkg]
+libxslt1-dev [platform:dpkg]
+libyaml-dev [platform:dpkg]
+libssl-dev [platform:dpkg]
+libffi-dev [platform:dpkg]
+libmysqlclient-dev [platform:dpkg]
+libpq-dev [platform:dpkg]
+mysql-client [platform:dpkg]
+postgresql-client [platform:dpkg]
+
+gcc [platform:rpm]
+python-devel [platform:rpm]
+python3-devel [platform:fedora platform:suse]
+python3 [platform:suse]
+libxml2-devel [platform:rpm]
+libxslt-devel [platform:rpm]
+libyaml-devel [platform:rpm]
+openssl-devel [platform:rpm]
+libffi-devel [platform:redhat platform:suse !platform:opensuse423]
+libffi48-devel [platform:opensuse423]
+mariadb-devel [platform:redhat]
+libmysqlclient-devel [platform:suse]
+postgresql-devel [platform:rpm]
+
+dev-libs/libxml2 [platform:gentoo]
+dev-libs/libxslt [platform:gentoo]
+dev-libs/libyaml [platform:gentoo]
+dev-libs/openssl [platform:gentoo]
+virtual/libffi [platform:gentoo]
+dev-db/mariadb [platform:gentoo]
+
diff --git a/test-requirements.txt b/test-requirements.txt
index 928cac20a..678a0e443 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4,7 +4,7 @@
# Hacking already pins down pep8, pyflakes and flake8
hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
-bandit!=1.6.0,>=1.1.0 # Apache-2.0
+bandit<1.6.0,>=1.1.0 # Apache-2.0
coverage!=4.4,>=4.0 # Apache-2.0
fixtures>=3.0.0 # Apache-2.0/BSD
kombu!=4.0.2,>=4.0.0 # BSD
diff --git a/tox.ini b/tox.ini
index 1fa292e6b..df109af8a 100644
--- a/tox.ini
+++ b/tox.ini
@@ -133,6 +133,18 @@ basepython = python3
deps = -r{toxinidir}/doc/requirements.txt
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
+[testenv:bindep]
+basepython = python3
+# Do not install any requirements. We want this to be fast and work even if
+# system dependencies are missing, since it's used to tell you what system
+# dependencies are missing! This also means that bindep must be installed
+# separately, outside of the requirements files, and develop mode disabled
+# explicitly to avoid unnecessarily installing the checked-out repo too (this
+# further relies on "tox.skipsdist = True" above).
+deps = bindep
+commands = bindep test
+usedevelop = False
+
[testenv:lower-constraints]
basepython = python3
deps =