summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/test/requires.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-02-21 21:26:11 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2010-02-21 21:26:11 +0000
commitb3f1513eafefc9bad1a36d58661f88cc84536125 (patch)
tree8f018aa6e16dedcaaa56a0cabdcc8a9b9f444f83 /lib/sqlalchemy/test/requires.py
parent123d7625fbf49b8da5c652ebeec6ba8c0b8dff11 (diff)
downloadsqlalchemy-b3f1513eafefc9bad1a36d58661f88cc84536125.tar.gz
clean up some skips, added skip for sqlite + python2
Diffstat (limited to 'lib/sqlalchemy/test/requires.py')
-rw-r--r--lib/sqlalchemy/test/requires.py29
1 files changed, 28 insertions, 1 deletions
diff --git a/lib/sqlalchemy/test/requires.py b/lib/sqlalchemy/test/requires.py
index 1ae6f7d7d..c97e6f5bb 100644
--- a/lib/sqlalchemy/test/requires.py
+++ b/lib/sqlalchemy/test/requires.py
@@ -13,6 +13,7 @@ from testing import \
skip_if
import testing
+import sys
def deferrable_constraints(fn):
"""Target database must support derferable constraints."""
@@ -111,7 +112,10 @@ def savepoints(fn):
def denormalized_names(fn):
"""Target database must have 'denormalized', i.e. UPPERCASE as case insensitive names."""
- return skip_if(lambda: not testing.db.dialect.requires_name_normalize)(fn)
+ return skip_if(
+ lambda: not testing.db.dialect.requires_name_normalize,
+ "Backend does not require denomralized names."
+ )(fn)
def schemas(fn):
"""Target database must support external schemas, and have one named 'test_schema'."""
@@ -186,3 +190,26 @@ def unicode_ddl(fn):
exclude('mysql', '<', (4, 1, 1), 'no unicode connection support'),
)
+def python2(fn):
+ return _chain_decorators_on(
+ fn,
+ skip_if(
+ lambda: sys.version_info >= (3,),
+ "Python version 2.xx is required."
+ )
+ )
+
+def _has_sqlite():
+ from sqlalchemy import create_engine
+ try:
+ e = create_engine('sqlite://')
+ return True
+ except ImportError:
+ return False
+
+def sqlite(fn):
+ return _chain_decorators_on(
+ fn,
+ skip_if(lambda: not _has_sqlite())
+ )
+