summaryrefslogtreecommitdiff
path: root/tox.ini
diff options
context:
space:
mode:
authorJulien Danjou <julien@danjou.info>2016-04-13 23:17:57 +0200
committerJulien Danjou <julien@danjou.info>2016-05-19 16:19:53 +0200
commit044cf85ef562da1cea696fc047277297c6ee7bf4 (patch)
tree9bcd716d6c606f321695433e61440bbade6abf37 /tox.ini
parent663092d675bca7c2420665b820db9306e381d73f (diff)
downloadoslo-db-044cf85ef562da1cea696fc047277297c6ee7bf4.tar.gz
Allow testing of MySQL and PostgreSQL scenario locally
This leverage pifpaf to start MySQL or PostgreSQL temporarily and allow to test provisioning directly without being on OpenStack CI by adding new tox targets: - py27-mysql - py27-postgresql - py34-mysql - py34-postgresql - py27-all - py34-all These targets will start MySQL or PostgreSQL before running the tests, while exporting the connection string to $PIFPAF_URL. The `all' target will start both MySQL and PostgreSQL and will run the tests against these backends, plus SQLite. Also, this patches add OS_TEST_DBAPI_ADMIN_CONNECTION to be allowed to be passed through tox. This allows to run the opportunistic tests on a more persistent pifpaf database, for example by running tox with: $ eval `pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run postgresql` $ echo $OS_TEST_DBAPI_ADMIN_CONNECTION postgresql://localhost/postgres?host=/var/folders/7k/pwdhb_mj2cv4zyr0kyrlzjx40000gq/T/tmpMGqN8C&port=9824 $ tox -e py27 […] $ tox -e py34 […] $ kill $PIFPAF_PID Change-Id: I1ee582e6f96e98378f02be79f4aaff0f447a062a Depends-On: Id3e6b694bb186724517599cd9875ad80ceeee053
Diffstat (limited to 'tox.ini')
-rw-r--r--tox.ini26
1 files changed, 25 insertions, 1 deletions
diff --git a/tox.ini b/tox.ini
index a54730f..0e073f8 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
[tox]
-minversion = 1.6
+minversion = 1.8
envlist = py34,py27,pep8,pip-missing-reqs
[testenv]
@@ -8,7 +8,9 @@ whitelist_externals = bash
setenv =
VIRTUAL_ENV={envdir}
deps = .[test,fixtures,mysql,postgresql]
+ py{27,34}-{postgresql,mysql,all}: .[pifpaf]
commands = bash tools/pretty_tox.sh '{posargs}'
+passenv = OS_TEST_DBAPI_ADMIN_CONNECTION
[testenv:sqla_09]
commands = pip install SQLAlchemy>=0.9.0,!=0.9.5,<1.0.0
@@ -19,6 +21,28 @@ commands =
env TEST_EVENTLET=0 bash tools/pretty_tox.sh '{posargs}'
env TEST_EVENTLET=1 bash tools/pretty_tox.sh '{posargs}'
+[testenv:py27-all]
+commands = pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run mysql -- pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run postgresql -- {toxinidir}/tools/run-pifpaf-tests.sh {posargs}
+
+[testenv:py34-all]
+commands = pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run mysql -- pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run postgresql -- {toxinidir}/tools/run-pifpaf-tests.sh {posargs}
+
+[testenv:py27-mysql]
+commands =
+ pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run mysql {toxinidir}/tools/run-pifpaf-tests.sh {posargs}
+
+[testenv:py27-postgresql]
+commands =
+ pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run postgresql {toxinidir}/tools/run-pifpaf-tests.sh {posargs}
+
+[testenv:py34-mysql]
+commands =
+ pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run mysql {toxinidir}/tools/run-pifpaf-tests.sh {posargs}
+
+[testenv:py34-postgresql]
+commands =
+ pifpaf -g OS_TEST_DBAPI_ADMIN_CONNECTION run postgresql {toxinidir}/tools/run-pifpaf-tests.sh {posargs}
+
[testenv:mysql-python]
deps = .[mysql-c,postgresql,test,fixtures]
setenv =