diff options
Diffstat (limited to 'lib/sqlalchemy/testing/requirements.py')
-rw-r--r-- | lib/sqlalchemy/testing/requirements.py | 77 |
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 |