• Roman Podolyaka's avatar
    Run tests on PostgreSQL and MySQL too · a91766a1
    Roman Podolyaka authored
    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
    a91766a1
tox.ini 1.19 KB