![Roman Podolyaka](/assets/img/avatar_default.png)
In addition to running tests with different Python and SQLAlchemy versions, they should also be run on different DB backends, which are used in production (PostgreSQL and MySQL). This patch: - modifies test_db.cfg to run tests on PostgreSQL and MySQL (Jenkins Slave credentials are used here, to ensure these tests are always run by Jenkins gate); if a backend is not available, test cases will be skipped for it - concurrency is set to 1 (sharing of the one MySQL or PostgreSQL DB among different test runner processes would lead to race conditions) - fixes tests dropping FK columns in MySQL: in earlier MySQL versions dropping a column that is a part of a FK constraint would lead to dropping of the FK too. As of MySQL 5.5 that's not the case anymore: if one tries to drop such column, he/she will get a very obscure error (something like "Error on rename of './openstack_citest/#sql-4af_aa2' to './openstack_citest/tmp_adddropcol' (errno: 150)") '\nALTER TABLE tmp_adddropcol DROP COLUMN r2'). So the solution if to drop FK constraints first, and only then the columns it is made up of Change-Id: I8c5d2874c83e7df46da69969ed54d85437c849e7
15 lines
687 B
INI
15 lines
687 B
INI
# test_db.cfg
|
|
#
|
|
# This file contains a list of connection strings which will be used by
|
|
# database tests. Tests will be executed once for each string in this file.
|
|
# You should be sure that the database used for the test doesn't contain any
|
|
# important data. See README for more information.
|
|
#
|
|
# The string '__tmp__' is substituted for a temporary file in each connection
|
|
# string. This is useful for sqlite tests.
|
|
sqlite:///__tmp__
|
|
postgresql://openstack_citest:openstack_citest@localhost/openstack_citest
|
|
mysql://openstack_citest:openstack_citest@localhost/openstack_citest
|
|
#oracle://scott:tiger@localhost
|
|
#firebird://scott:tiger@localhost//var/lib/firebird/databases/test_migrate
|