Get test compat for oracle

Start getting all the exclusions and conventions in place
to get the autogen suites to pass against the oracle dialect

Change-Id: I63b8c46311af4fc77da6baf17b628a64e9748f85
This commit is contained in:
Mike Bayer 2017-01-04 11:24:26 -05:00
parent 053062c2ee
commit 61a5512349
9 changed files with 132 additions and 76 deletions

View File

@ -373,6 +373,11 @@ def _compare_indexes_and_uniques(
supports_unique_constraints = True
except NotImplementedError:
pass
except TypeError:
# number of arguments is off for the base
# method in SQLAlchemy due to the cache decorator
# not being present
pass
try:
conn_indexes = inspector.get_indexes(tname, schema=schema)
except NotImplementedError:

View File

@ -22,7 +22,8 @@ try:
# honor it unless nose is imported too...
from nose import SkipTest
except ImportError:
from _pytest.runner import Skipped as SkipTest
from pytest import skip
SkipTest = skip.Exception
import sys
import re
@ -75,6 +76,9 @@ def setup_options(make_option):
dest="low_connections",
help="Use a low number of distinct connections - "
"i.e. for Oracle TNS")
make_option("--write-idents", type="string", dest="write_idents",
help="write out generated follower idents to <file>, "
"when -n<num> is used")
make_option("--reversetop", action="store_true",
dest="reversetop", default=False,
help="Use a random-ordering set implementation in the ORM "

View File

@ -17,7 +17,7 @@ import pytest
import argparse
import inspect
import collections
import itertools
import os
try:
import xdist # noqa
@ -50,6 +50,14 @@ def pytest_configure(config):
plugin_base.configure_follower(
config.slaveinput["follower_ident"]
)
if config.option.write_idents:
with open(config.option.write_idents, "a") as file_:
file_.write(config.slaveinput["follower_ident"] + "\n")
else:
if config.option.write_idents and \
os.path.exists(config.option.write_idents):
os.remove(config.option.write_idents)
plugin_base.pre_begin(config.option)

View File

@ -275,9 +275,14 @@ def _oracle_drop_db(cfg, eng, ident):
_ora_drop_ignore(conn, "%s_ts2" % ident)
def reap_oracle_dbs(eng):
def reap_oracle_dbs(eng, idents_file):
log.info("Reaping Oracle dbs...")
with eng.connect() as conn:
with open(idents_file) as file_:
idents = set(line.strip() for line in file_)
log.info("identifiers in file: %s", ", ".join(idents))
to_reap = conn.execute(
"select u.username from all_users u where username "
"like 'TEST_%' and not exists (select username "
@ -287,7 +292,7 @@ def reap_oracle_dbs(eng):
for name in all_names:
if name.endswith("_ts1") or name.endswith("_ts2"):
continue
else:
elif name in idents:
to_drop.add(name)
if "%s_ts1" % name in all_names:
to_drop.add("%s_ts1" % name)

View File

@ -19,10 +19,25 @@ class SuiteRequirements(Requirements):
@property
def unique_constraint_reflection(self):
def doesnt_have_check_uq_constraints(config):
if not util.sqla_084:
return True
from sqlalchemy import inspect
insp = inspect(config.db)
try:
insp.get_unique_constraints('x')
except NotImplementedError:
return True
except TypeError:
return True
except Exception:
pass
return False
return exclusions.skip_if(
lambda config: not util.sqla_084,
"SQLAlchemy 0.8.4 or greater required"
)
) + exclusions.skip_if(doesnt_have_check_uq_constraints)
@property
def foreign_key_match(self):

View File

@ -1,4 +1,4 @@
"""Drop Oracle databases that are left over from a
"""Drop Oracle databases that are left over from a
multiprocessing test run.
Currently the cx_Oracle driver seems to sometimes not release a
@ -6,19 +6,19 @@ TCP connection even if close() is called, which prevents the provisioning
system from dropping a database in-process.
"""
from sqlalchemy.testing.plugin import plugin_base
from sqlalchemy.testing import engines
from sqlalchemy.testing import provision
from alembic.testing.plugin import plugin_base
from alembic.testing import engines
from alembic.testing import provision
import logging
import sys
logging.basicConfig()
logging.getLogger(provision.__name__).setLevel(logging.INFO)
plugin_base.read_config()
oracle = plugin_base.file_config.get('db', 'oracle')
from sqlalchemy.testing import provision
engine = engines.testing_engine(oracle, {})
provision.reap_oracle_dbs(engine)
provision.reap_oracle_dbs(engine, sys.argv[1])

View File

@ -54,6 +54,12 @@ class DefaultRequirements(SuiteRequirements):
"""foreign key constraints always have names in the DB"""
return exclusions.fails_on('sqlite')
@property
def no_name_normalize(self):
return exclusions.skip_if(
lambda config: config.db.dialect.requires_name_normalize
)
@property
def reflects_fk_options(self):
return exclusions.only_on([
@ -71,6 +77,16 @@ class DefaultRequirements(SuiteRequirements):
"""backend supports DEFERRABLE option in foreign keys"""
return exclusions.only_on(['postgresql'])
@property
def flexible_fk_cascades(self):
"""target database must support ON UPDATE/DELETE..CASCADE with the
full range of keywords (e.g. NO ACTION, etc.)"""
return exclusions.skip_if(
['oracle'],
'target backend has poor FK cascade syntax'
)
@property
def reflects_unique_constraints_unambiguously(self):
return exclusions.fails_on("mysql")

View File

@ -17,7 +17,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
m1 = MetaData()
m2 = MetaData()
Table('table', m1,
Table('some_table', m1,
Column('test', String(10), primary_key=True),
mysql_engine='InnoDB')
@ -26,10 +26,10 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
Column('name', String(50), nullable=False),
Column('a1', String(10), server_default="x"),
Column('test2', String(10)),
ForeignKeyConstraint(['test2'], ['table.test']),
ForeignKeyConstraint(['test2'], ['some_table.test']),
mysql_engine='InnoDB')
Table('table', m2,
Table('some_table', m2,
Column('test', String(10), primary_key=True),
mysql_engine='InnoDB')
@ -46,7 +46,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "remove_fk",
"user", ['test2'],
'table', ['test'],
'some_table', ['test'],
conditional_name="servergenerated"
)
@ -54,7 +54,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
m1 = MetaData()
m2 = MetaData()
Table('table', m1,
Table('some_table', m1,
Column('id', Integer, primary_key=True),
Column('test', String(10)),
mysql_engine='InnoDB')
@ -66,7 +66,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
Column('test2', String(10)),
mysql_engine='InnoDB')
Table('table', m2,
Table('some_table', m2,
Column('id', Integer, primary_key=True),
Column('test', String(10)),
mysql_engine='InnoDB')
@ -76,7 +76,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
Column('name', String(50), nullable=False),
Column('a1', String(10), server_default="x"),
Column('test2', String(10)),
ForeignKeyConstraint(['test2'], ['table.test']),
ForeignKeyConstraint(['test2'], ['some_table.test']),
mysql_engine='InnoDB')
diffs = self._fixture(m1, m2)
@ -84,14 +84,14 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "add_fk",
"user", ["test2"],
"table", ["test"]
"some_table", ["test"]
)
def test_no_change(self):
m1 = MetaData()
m2 = MetaData()
Table('table', m1,
Table('some_table', m1,
Column('id', Integer, primary_key=True),
Column('test', String(10)),
mysql_engine='InnoDB')
@ -101,10 +101,10 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
Column('name', String(50), nullable=False),
Column('a1', String(10), server_default="x"),
Column('test2', Integer),
ForeignKeyConstraint(['test2'], ['table.id']),
ForeignKeyConstraint(['test2'], ['some_table.id']),
mysql_engine='InnoDB')
Table('table', m2,
Table('some_table', m2,
Column('id', Integer, primary_key=True),
Column('test', String(10)),
mysql_engine='InnoDB')
@ -114,7 +114,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
Column('name', String(50), nullable=False),
Column('a1', String(10), server_default="x"),
Column('test2', Integer),
ForeignKeyConstraint(['test2'], ['table.id']),
ForeignKeyConstraint(['test2'], ['some_table.id']),
mysql_engine='InnoDB')
diffs = self._fixture(m1, m2)
@ -125,7 +125,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
m1 = MetaData()
m2 = MetaData()
Table('table', m1,
Table('some_table', m1,
Column('id_1', String(10), primary_key=True),
Column('id_2', String(10), primary_key=True),
mysql_engine='InnoDB')
@ -137,10 +137,10 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
Column('other_id_1', String(10)),
Column('other_id_2', String(10)),
ForeignKeyConstraint(['other_id_1', 'other_id_2'],
['table.id_1', 'table.id_2']),
['some_table.id_1', 'some_table.id_2']),
mysql_engine='InnoDB')
Table('table', m2,
Table('some_table', m2,
Column('id_1', String(10), primary_key=True),
Column('id_2', String(10), primary_key=True),
mysql_engine='InnoDB'
@ -153,7 +153,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
Column('other_id_1', String(10)),
Column('other_id_2', String(10)),
ForeignKeyConstraint(['other_id_1', 'other_id_2'],
['table.id_1', 'table.id_2']),
['some_table.id_1', 'some_table.id_2']),
mysql_engine='InnoDB')
diffs = self._fixture(m1, m2)
@ -164,7 +164,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
m1 = MetaData()
m2 = MetaData()
Table('table', m1,
Table('some_table', m1,
Column('id_1', String(10), primary_key=True),
Column('id_2', String(10), primary_key=True),
mysql_engine='InnoDB')
@ -177,7 +177,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
Column('other_id_2', String(10)),
mysql_engine='InnoDB')
Table('table', m2,
Table('some_table', m2,
Column('id_1', String(10), primary_key=True),
Column('id_2', String(10), primary_key=True),
mysql_engine='InnoDB')
@ -189,7 +189,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
Column('other_id_1', String(10)),
Column('other_id_2', String(10)),
ForeignKeyConstraint(['other_id_1', 'other_id_2'],
['table.id_1', 'table.id_2'],
['some_table.id_1', 'some_table.id_2'],
name='fk_test_name'),
mysql_engine='InnoDB')
@ -198,15 +198,16 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "add_fk",
"user", ['other_id_1', 'other_id_2'],
'table', ['id_1', 'id_2'],
'some_table', ['id_1', 'id_2'],
name="fk_test_name"
)
@config.requirements.no_name_normalize
def test_remove_composite_fk(self):
m1 = MetaData()
m2 = MetaData()
Table('table', m1,
Table('some_table', m1,
Column('id_1', String(10), primary_key=True),
Column('id_2', String(10), primary_key=True),
mysql_engine='InnoDB')
@ -218,11 +219,11 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
Column('other_id_1', String(10)),
Column('other_id_2', String(10)),
ForeignKeyConstraint(['other_id_1', 'other_id_2'],
['table.id_1', 'table.id_2'],
['some_table.id_1', 'some_table.id_2'],
name='fk_test_name'),
mysql_engine='InnoDB')
Table('table', m2,
Table('some_table', m2,
Column('id_1', String(10), primary_key=True),
Column('id_2', String(10), primary_key=True),
mysql_engine='InnoDB')
@ -240,7 +241,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "remove_fk",
"user", ['other_id_1', 'other_id_2'],
"table", ['id_1', 'id_2'],
"some_table", ['id_1', 'id_2'],
conditional_name="fk_test_name"
)
@ -248,7 +249,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
m1 = MetaData()
m2 = MetaData()
Table('table', m1,
Table('some_table', m1,
Column('id_1', String(10), primary_key=True),
Column('id_2', String(10), primary_key=True),
mysql_engine='InnoDB')
@ -259,7 +260,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
Column('other_id_2', String(10)),
mysql_engine='InnoDB')
Table('table', m2,
Table('some_table', m2,
Column('id_1', String(10), key='tid1', primary_key=True),
Column('id_2', String(10), key='tid2', primary_key=True),
mysql_engine='InnoDB')
@ -269,7 +270,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
Column('other_id_1', String(10), key='oid1'),
Column('other_id_2', String(10), key='oid2'),
ForeignKeyConstraint(['oid1', 'oid2'],
['table.tid1', 'table.tid2'],
['some_table.tid1', 'some_table.tid2'],
name='fk_test_name'),
mysql_engine='InnoDB')
@ -278,7 +279,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "add_fk",
"user", ['other_id_1', 'other_id_2'],
'table', ['id_1', 'id_2'],
'some_table', ['id_1', 'id_2'],
name="fk_test_name"
)
@ -286,7 +287,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
m1 = MetaData()
m2 = MetaData()
Table('table', m1,
Table('some_table', m1,
Column('id_1', String(10), primary_key=True),
Column('id_2', String(10), primary_key=True),
mysql_engine='InnoDB')
@ -296,10 +297,10 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
Column('other_id_1', String(10)),
Column('other_id_2', String(10)),
ForeignKeyConstraint(['other_id_1', 'other_id_2'],
['table.id_1', 'table.id_2']),
['some_table.id_1', 'some_table.id_2']),
mysql_engine='InnoDB')
Table('table', m2,
Table('some_table', m2,
Column('id_1', String(10), key='tid1', primary_key=True),
Column('id_2', String(10), key='tid2', primary_key=True),
mysql_engine='InnoDB')
@ -309,7 +310,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
Column('other_id_1', String(10), key='oid1'),
Column('other_id_2', String(10), key='oid2'),
ForeignKeyConstraint(['oid1', 'oid2'],
['table.tid1', 'table.tid2']),
['some_table.tid1', 'some_table.tid2']),
mysql_engine='InnoDB')
diffs = self._fixture(m1, m2)
@ -321,6 +322,7 @@ class IncludeHooksTest(AutogenFixtureTest, TestBase):
__backend__ = True
__requires__ = 'fk_names',
@config.requirements.no_name_normalize
def test_remove_connection_fk(self):
m1 = MetaData()
m2 = MetaData()
@ -399,6 +401,7 @@ class IncludeHooksTest(AutogenFixtureTest, TestBase):
)
eq_(len(diffs), 1)
@config.requirements.no_name_normalize
def test_change_fk(self):
m1 = MetaData()
m2 = MetaData()
@ -473,13 +476,13 @@ class IncludeHooksTest(AutogenFixtureTest, TestBase):
class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
__backend__ = True
__requires__ = ('sqlalchemy_09', )
__requires__ = ('sqlalchemy_09', 'flexible_fk_cascades')
def _fk_opts_fixture(self, old_opts, new_opts):
m1 = MetaData()
m2 = MetaData()
Table('table', m1,
Table('some_table', m1,
Column('id', Integer, primary_key=True),
Column('test', String(10)),
mysql_engine='InnoDB')
@ -488,10 +491,10 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
Column('id', Integer, primary_key=True),
Column('name', String(50), nullable=False),
Column('tid', Integer),
ForeignKeyConstraint(['tid'], ['table.id'], **old_opts),
ForeignKeyConstraint(['tid'], ['some_table.id'], **old_opts),
mysql_engine='InnoDB')
Table('table', m2,
Table('some_table', m2,
Column('id', Integer, primary_key=True),
Column('test', String(10)),
mysql_engine='InnoDB')
@ -500,7 +503,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
Column('id', Integer, primary_key=True),
Column('name', String(50), nullable=False),
Column('tid', Integer),
ForeignKeyConstraint(['tid'], ['table.id'], **new_opts),
ForeignKeyConstraint(['tid'], ['some_table.id'], **new_opts),
mysql_engine='InnoDB')
return self._fixture(m1, m2)
@ -526,7 +529,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "remove_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
ondelete=None,
conditional_name="servergenerated"
)
@ -534,7 +537,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[1], "add_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
ondelete="cascade"
)
else:
@ -549,7 +552,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "remove_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
ondelete="CASCADE",
conditional_name="servergenerated"
)
@ -557,7 +560,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[1], "add_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
ondelete=None
)
else:
@ -579,7 +582,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "remove_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
onupdate=None,
conditional_name="servergenerated"
)
@ -587,7 +590,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[1], "add_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
onupdate="cascade"
)
else:
@ -602,7 +605,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "remove_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
onupdate="CASCADE",
conditional_name="servergenerated"
)
@ -610,7 +613,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[1], "add_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
onupdate=None
)
else:
@ -667,7 +670,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "remove_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
onupdate=None,
ondelete=mock.ANY, # MySQL reports None, PG reports RESTRICT
conditional_name="servergenerated"
@ -676,7 +679,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[1], "add_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
onupdate=None,
ondelete="cascade"
)
@ -695,7 +698,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "remove_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
onupdate=mock.ANY, # MySQL reports None, PG reports RESTRICT
ondelete=None,
conditional_name="servergenerated"
@ -704,7 +707,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[1], "add_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
onupdate="cascade",
ondelete=None
)
@ -721,7 +724,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "remove_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
onupdate="CASCADE",
ondelete="SET NULL",
conditional_name="servergenerated"
@ -730,7 +733,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[1], "add_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
onupdate="RESTRICT",
ondelete="RESTRICT"
)
@ -746,7 +749,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "remove_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
initially=None,
conditional_name="servergenerated"
)
@ -754,7 +757,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[1], "add_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
initially="deferred"
)
@ -767,7 +770,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "remove_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
initially="DEFERRED",
deferrable=True,
conditional_name="servergenerated"
@ -776,7 +779,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[1], "add_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
initially=None
)
@ -790,7 +793,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "remove_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
initially=None,
conditional_name="servergenerated"
)
@ -798,7 +801,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[1], "add_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
initially="immediate",
deferrable=True
)
@ -813,7 +816,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "remove_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
initially=None, # immediate is the default
deferrable=True,
conditional_name="servergenerated"
@ -822,7 +825,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[1], "add_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
initially=None,
deferrable=None
)
@ -866,7 +869,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "remove_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
deferrable=None,
conditional_name="servergenerated"
)
@ -874,7 +877,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[1], "add_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
deferrable=True
)
@ -887,7 +890,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[0], "remove_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
deferrable=True,
conditional_name="servergenerated"
)
@ -895,6 +898,6 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
self._assert_fk_diff(
diffs[1], "add_fk",
"user", ["tid"],
"table", ["id"],
"some_table", ["id"],
deferrable=None
)

View File

@ -36,7 +36,7 @@ setenv=
sqlite: SQLITE=--db sqlite
postgresql: POSTGRESQL=--db postgresql
mysql: MYSQL=--db mysql
oracle: ORACLE=--db oracle --low-connections
oracle: ORACLE=--db oracle --low-connections --write-idents oracle_idents.txt
mssql: MSSQL=--db pymssql
# tox as of 2.0 blocks all environment variables from the
@ -46,7 +46,7 @@ passenv=ORACLE_HOME NLS_LANG
commands=
{env:BASECOMMAND} {env:WORKERS} {env:SQLITE:} {env:POSTGRESQL:} {env:MYSQL:} {env:ORACLE:} {env:MSSQL:} {env:BACKENDONLY:} {env:COVERAGE:} {posargs}
{oracle}: python reap_oracle_dbs.py
{oracle}: python reap_oracle_dbs.py oracle_idents.txt
[testenv:pep8]