diff options
Diffstat (limited to 'test/testlib/engines.py')
-rw-r--r-- | test/testlib/engines.py | 17 |
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) |