summaryrefslogtreecommitdiff
path: root/test/testlib/engines.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/testlib/engines.py')
-rw-r--r--test/testlib/engines.py17
1 files changed, 12 insertions, 5 deletions
diff --git a/test/testlib/engines.py b/test/testlib/engines.py
index da3374967..addef3f9e 100644
--- a/test/testlib/engines.py
+++ b/test/testlib/engines.py
@@ -24,10 +24,17 @@ def utf8_engine(url=None, options=None):
from sqlalchemy.engine import url as engine_url
if config.db.name == 'mysql':
- url = url or config.db_url
- url = engine_url.make_url(url)
- url.query['charset'] = 'utf8'
- url.query['use_unicode'] = '0'
- url = str(url)
+ dbapi_ver = config.db.dialect.dbapi.version_info
+ if (dbapi_ver < (1, 2, 1) or
+ dbapi_ver in ((1, 2, 1, 'gamma', 1), (1, 2, 1, 'gamma', 2),
+ (1, 2, 1, 'gamma', 3), (1, 2, 1, 'gamma', 5))):
+ raise RuntimeError('Character set support unavailable with this '
+ 'driver version: %s' % repr(dbapi_ver))
+ else:
+ url = url or config.db_url
+ url = engine_url.make_url(url)
+ url.query['charset'] = 'utf8'
+ url.query['use_unicode'] = '0'
+ url = str(url)
return testing_engine(url, options)