summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2014-12-01 13:31:48 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2014-12-01 13:31:48 -0500
commit156f473de00024688404d73aea305cd4fc452638 (patch)
tree93d78f2dd852b90d295bd523fd0bc09a644ee0d2
parent98c2a679707432e6707ba70f1aebd10b28b861a3 (diff)
parent8d154f84f1a552c290a1ccd802f20940c8cab066 (diff)
downloadsqlalchemy-156f473de00024688404d73aea305cd4fc452638.tar.gz
Merge remote-tracking branch 'origin/pr/151' into pr151
-rw-r--r--lib/sqlalchemy/testing/engines.py8
-rw-r--r--test/engine/test_reflection.py1
-rw-r--r--test/orm/test_query.py1
-rw-r--r--test/requirements.py11
-rw-r--r--test/sql/test_constraints.py1
-rw-r--r--test/sql/test_metadata.py2
-rw-r--r--test/sql/test_types.py2
7 files changed, 21 insertions, 5 deletions
diff --git a/lib/sqlalchemy/testing/engines.py b/lib/sqlalchemy/testing/engines.py
index 1284f9c2a..0f6f59401 100644
--- a/lib/sqlalchemy/testing/engines.py
+++ b/lib/sqlalchemy/testing/engines.py
@@ -280,10 +280,10 @@ class DBAPIProxyCursor(object):
"""
- def __init__(self, engine, conn):
+ def __init__(self, engine, conn, *args, **kwargs):
self.engine = engine
self.connection = conn
- self.cursor = conn.cursor()
+ self.cursor = conn.cursor(*args, **kwargs)
def execute(self, stmt, parameters=None, **kw):
if parameters:
@@ -311,8 +311,8 @@ class DBAPIProxyConnection(object):
self.engine = engine
self.cursor_cls = cursor_cls
- def cursor(self):
- return self.cursor_cls(self.engine, self.conn)
+ def cursor(self, *args, **kwargs):
+ return self.cursor_cls(self.engine, self.conn, *args, **kwargs)
def close(self):
self.conn.close()
diff --git a/test/engine/test_reflection.py b/test/engine/test_reflection.py
index c18b8b944..087610333 100644
--- a/test/engine/test_reflection.py
+++ b/test/engine/test_reflection.py
@@ -799,6 +799,7 @@ class ReflectionTest(fixtures.TestBase, ComparesTables):
@testing.crashes('oracle', 'FIXME: unknown, confirm not fails_on')
+ @testing.requires.check_constraints
@testing.provide_metadata
def test_reserved(self):
diff --git a/test/orm/test_query.py b/test/orm/test_query.py
index f14ad7864..354bbe5b1 100644
--- a/test/orm/test_query.py
+++ b/test/orm/test_query.py
@@ -1569,6 +1569,7 @@ class FilterTest(QueryTest, AssertsCompiledSQL):
assert [] == sess.query(User).order_by(User.id)[3:3]
assert [] == sess.query(User).order_by(User.id)[0:0]
+ @testing.requires.bound_limit_offset
def test_select_with_bindparam_offset_limit(self):
"""Does a query allow bindparam for the limit?"""
User = self.classes.User
diff --git a/test/requirements.py b/test/requirements.py
index 514c2b329..d1b7913f0 100644
--- a/test/requirements.py
+++ b/test/requirements.py
@@ -39,6 +39,12 @@ class DefaultRequirements(SuiteRequirements):
])
@property
+ def check_constraints(self):
+ """Target database must support check constraints."""
+
+ return exclusions.open()
+
+ @property
def named_constraints(self):
"""target database must support names for constraints."""
@@ -121,6 +127,11 @@ class DefaultRequirements(SuiteRequirements):
)
@property
+ def temporary_table(self):
+ """Target database must support CREATE TEMPORARY TABLE"""
+ return exclusions.open()
+
+ @property
def reflectable_autoincrement(self):
"""Target database must support tables that can automatically generate
PKs assuming they were reflected.
diff --git a/test/sql/test_constraints.py b/test/sql/test_constraints.py
index 2f054dac1..c0b5806ac 100644
--- a/test/sql/test_constraints.py
+++ b/test/sql/test_constraints.py
@@ -130,6 +130,7 @@ class ConstraintGenTest(fixtures.TestBase, AssertsExecutionResults):
*assertions
)
+ @testing.requires.check_constraints
@testing.provide_metadata
def test_check_constraint_create(self):
metadata = self.metadata
diff --git a/test/sql/test_metadata.py b/test/sql/test_metadata.py
index 74044e3bb..0aa5d7305 100644
--- a/test/sql/test_metadata.py
+++ b/test/sql/test_metadata.py
@@ -530,6 +530,7 @@ class MetaDataTest(fixtures.TestBase, ComparesTables):
class ToMetaDataTest(fixtures.TestBase, ComparesTables):
+ @testing.requires.check_constraints
def test_copy(self):
from sqlalchemy.testing.schema import Table
meta = MetaData()
@@ -1161,6 +1162,7 @@ class InfoTest(fixtures.TestBase):
class TableTest(fixtures.TestBase, AssertsCompiledSQL):
+ @testing.requires.temporary_table
@testing.skip_if('mssql', 'different col format')
def test_prefixes(self):
from sqlalchemy import Table
diff --git a/test/sql/test_types.py b/test/sql/test_types.py
index efa0f90ae..26dc6c842 100644
--- a/test/sql/test_types.py
+++ b/test/sql/test_types.py
@@ -558,7 +558,7 @@ class TypeCoerceCastTest(fixtures.TablesTest):
@classmethod
def define_tables(cls, metadata):
class MyType(types.TypeDecorator):
- impl = String
+ impl = String(50)
def process_bind_param(self, value, dialect):
return "BIND_IN" + str(value)