From: Mike Bayer Date: Fri, 11 May 2018 13:19:10 +0000 (-0400) Subject: Default server_version_info to (0, ) X-Git-Tag: rel_1_3_0b1~189^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=29ce87273e3f66797d87edc9673fd3868e28249a;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Default server_version_info to (0, ) Fixed a bug in the test suite where if an external dialect returned ``None`` for ``server_version_info``, the exclusion logic would raise an ``AttributeError``. Change-Id: I9124d3ac5484941081127274e6eb71f392fb94f7 Fixes: #4249 --- diff --git a/doc/build/changelog/unreleased_12/4249.rst b/doc/build/changelog/unreleased_12/4249.rst new file mode 100644 index 0000000000..11f346e8f4 --- /dev/null +++ b/doc/build/changelog/unreleased_12/4249.rst @@ -0,0 +1,8 @@ +.. change:: + :tags: bug, tests + :tickets: 4249 + :versions: 1.3.0b1 + + Fixed a bug in the test suite where if an external dialect returned + ``None`` for ``server_version_info``, the exclusion logic would raise an + ``AttributeError``. diff --git a/lib/sqlalchemy/testing/exclusions.py b/lib/sqlalchemy/testing/exclusions.py index 8a10cf5ab1..65b70a5a31 100644 --- a/lib/sqlalchemy/testing/exclusions.py +++ b/lib/sqlalchemy/testing/exclusions.py @@ -381,7 +381,9 @@ def _server_version(engine): # force metadata to be retrieved conn = engine.connect() - version = getattr(engine.dialect, 'server_version_info', ()) + version = getattr(engine.dialect, 'server_version_info', None) + if version is None: + version = () conn.close() return version diff --git a/lib/sqlalchemy/testing/plugin/plugin_base.py b/lib/sqlalchemy/testing/plugin/plugin_base.py index 1f74321a8b..8939ff7c65 100644 --- a/lib/sqlalchemy/testing/plugin/plugin_base.py +++ b/lib/sqlalchemy/testing/plugin/plugin_base.py @@ -561,7 +561,7 @@ def _do_skips(cls): config_obj.db.name, ".".join( str(dig) for dig in - config_obj.db.dialect.server_version_info), + exclusions._server_version(config_obj.db)), config_obj.db.driver ) for config_obj in config.Config.all_configs()