From ef7c2f359dcb88577a9aa37256d5060c2c87d2af Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Thu, 4 Oct 2012 17:36:02 -0400 Subject: - don't call get_lastrowid() on explicit returning - don't hardwire "subqueries" requirement in the base, mysql < 4.1 isn't working anyway - don't need explicit FB/PG exclusions in test_returning - hit db.connect() for the returning requirement --- lib/sqlalchemy/testing/assertions.py | 4 +++- lib/sqlalchemy/testing/fixtures.py | 1 - lib/sqlalchemy/testing/requirements.py | 7 +++++++ 3 files changed, 10 insertions(+), 2 deletions(-) (limited to 'lib/sqlalchemy/testing') diff --git a/lib/sqlalchemy/testing/assertions.py b/lib/sqlalchemy/testing/assertions.py index 1e8559c1a..2b305b98a 100644 --- a/lib/sqlalchemy/testing/assertions.py +++ b/lib/sqlalchemy/testing/assertions.py @@ -2,7 +2,7 @@ from __future__ import absolute_import from . import util as testutil from sqlalchemy import pool, orm, util -from sqlalchemy.engine import default +from sqlalchemy.engine import default, create_engine from sqlalchemy import exc as sa_exc from sqlalchemy.util import decorator from sqlalchemy import types as sqltypes, schema @@ -183,6 +183,8 @@ class AssertsCompiledSQL(object): dialect = default.DefaultDialect() elif dialect is None: dialect = config.db.dialect + elif isinstance(dialect, basestring): + dialect = create_engine("%s://" % dialect).dialect kw = {} if params is not None: diff --git a/lib/sqlalchemy/testing/fixtures.py b/lib/sqlalchemy/testing/fixtures.py index 018276d4d..1a1204898 100644 --- a/lib/sqlalchemy/testing/fixtures.py +++ b/lib/sqlalchemy/testing/fixtures.py @@ -202,7 +202,6 @@ class TablesTest(TestBase): class _ORMTest(object): - __requires__ = ('subqueries',) @classmethod def teardown_class(cls): diff --git a/lib/sqlalchemy/testing/requirements.py b/lib/sqlalchemy/testing/requirements.py index 4df2163b7..fa617025f 100644 --- a/lib/sqlalchemy/testing/requirements.py +++ b/lib/sqlalchemy/testing/requirements.py @@ -54,6 +54,12 @@ class SuiteRequirements(Requirements): return exclusions.open() + @property + def subqueries(self): + """Target database must support subqueries.""" + + return exclusions.open() + @property def autoincrement_insert(self): """target platform generates new surrogate integer primary key values @@ -65,6 +71,7 @@ class SuiteRequirements(Requirements): def returning(self): """target platform supports RETURNING.""" + self.config.db.connect() return exclusions.only_if( lambda: self.config.db.dialect.implicit_returning, "'returning' not supported by database" -- cgit v1.2.1