summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/testing/requirements.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/testing/requirements.py')
-rw-r--r--lib/sqlalchemy/testing/requirements.py77
1 files changed, 40 insertions, 37 deletions
diff --git a/lib/sqlalchemy/testing/requirements.py b/lib/sqlalchemy/testing/requirements.py
index 59578ce7f..3413c0d30 100644
--- a/lib/sqlalchemy/testing/requirements.py
+++ b/lib/sqlalchemy/testing/requirements.py
@@ -21,6 +21,7 @@ from . import exclusions
class Requirements(object):
pass
+
class SuiteRequirements(Requirements):
@property
@@ -64,9 +65,9 @@ class SuiteRequirements(Requirements):
# somehow only_if([x, y]) isn't working here, negation/conjunctions
# getting confused.
return exclusions.only_if(
- lambda: self.on_update_cascade.enabled or self.deferrable_fks.enabled
- )
-
+ lambda: self.on_update_cascade.enabled or
+ self.deferrable_fks.enabled
+ )
@property
def self_referential_foreign_keys(self):
@@ -94,13 +95,17 @@ class SuiteRequirements(Requirements):
@property
def offset(self):
- """target database can render OFFSET, or an equivalent, in a SELECT."""
+ """target database can render OFFSET, or an equivalent, in a
+ SELECT.
+ """
return exclusions.open()
@property
def bound_limit_offset(self):
- """target database can render LIMIT and/or OFFSET using a bound parameter"""
+ """target database can render LIMIT and/or OFFSET using a bound
+ parameter
+ """
return exclusions.open()
@@ -159,17 +164,16 @@ class SuiteRequirements(Requirements):
return exclusions.open()
-
@property
def empty_inserts(self):
"""target platform supports INSERT with no values, i.e.
INSERT DEFAULT VALUES or equivalent."""
return exclusions.only_if(
- lambda config: config.db.dialect.supports_empty_insert or \
- config.db.dialect.supports_default_values,
- "empty inserts not supported"
- )
+ lambda config: config.db.dialect.supports_empty_insert or
+ config.db.dialect.supports_default_values,
+ "empty inserts not supported"
+ )
@property
def insert_from_select(self):
@@ -182,9 +186,9 @@ class SuiteRequirements(Requirements):
"""target platform supports RETURNING."""
return exclusions.only_if(
- lambda config: config.db.dialect.implicit_returning,
- "'returning' not supported by database"
- )
+ lambda config: config.db.dialect.implicit_returning,
+ "'returning' not supported by database"
+ )
@property
def duplicate_names_in_cursor_description(self):
@@ -199,9 +203,9 @@ class SuiteRequirements(Requirements):
UPPERCASE as case insensitive names."""
return exclusions.skip_if(
- lambda config: not config.db.dialect.requires_name_normalize,
- "Backend does not require denormalized names."
- )
+ lambda config: not config.db.dialect.requires_name_normalize,
+ "Backend does not require denormalized names."
+ )
@property
def multivalues_inserts(self):
@@ -209,10 +213,9 @@ class SuiteRequirements(Requirements):
INSERT statement."""
return exclusions.skip_if(
- lambda config: not config.db.dialect.supports_multivalues_insert,
- "Backend does not support multirow inserts."
- )
-
+ lambda config: not config.db.dialect.supports_multivalues_insert,
+ "Backend does not support multirow inserts."
+ )
@property
def implements_get_lastrowid(self):
@@ -260,8 +263,8 @@ class SuiteRequirements(Requirements):
"""Target database must support SEQUENCEs."""
return exclusions.only_if([
- lambda config: config.db.dialect.supports_sequences
- ], "no sequence support")
+ lambda config: config.db.dialect.supports_sequences
+ ], "no sequence support")
@property
def sequences_optional(self):
@@ -269,13 +272,9 @@ class SuiteRequirements(Requirements):
as a means of generating new PK values."""
return exclusions.only_if([
- lambda config: config.db.dialect.supports_sequences and \
- config.db.dialect.sequences_optional
- ], "no sequence support, or sequences not optional")
-
-
-
-
+ lambda config: config.db.dialect.supports_sequences and
+ config.db.dialect.sequences_optional
+ ], "no sequence support, or sequences not optional")
@property
def reflects_pk_names(self):
@@ -339,7 +338,9 @@ class SuiteRequirements(Requirements):
@property
def unicode_ddl(self):
- """Target driver must support some degree of non-ascii symbol names."""
+ """Target driver must support some degree of non-ascii symbol
+ names.
+ """
return exclusions.closed()
@property
@@ -531,7 +532,6 @@ class SuiteRequirements(Requirements):
return exclusions.closed()
-
@property
def update_from(self):
"""Target must support UPDATE..FROM syntax"""
@@ -587,7 +587,9 @@ class SuiteRequirements(Requirements):
@property
def unicode_connections(self):
- """Target driver must support non-ASCII characters being passed at all."""
+ """Target driver must support non-ASCII characters being passed at
+ all.
+ """
return exclusions.open()
@property
@@ -600,11 +602,12 @@ class SuiteRequirements(Requirements):
"""Test environment must allow ad-hoc engine/connection creation.
DBs that scale poorly for many connections, even when closed, i.e.
- Oracle, may use the "--low-connections" option which flags this requirement
- as not present.
+ Oracle, may use the "--low-connections" option which flags this
+ requirement as not present.
"""
- return exclusions.skip_if(lambda config: config.options.low_connections)
+ return exclusions.skip_if(
+ lambda config: config.options.low_connections)
def _has_mysql_on_windows(self, config):
return False
@@ -619,8 +622,8 @@ class SuiteRequirements(Requirements):
@property
def cextensions(self):
return exclusions.skip_if(
- lambda: not self._has_cextensions(), "C extensions not installed"
- )
+ lambda: not self._has_cextensions(), "C extensions not installed"
+ )
def _has_sqlite(self):
from sqlalchemy import create_engine