From 6540f9319a9a748d2ad45c3c1ed51fe33583225a Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Thu, 24 Nov 2016 13:52:38 +0100 Subject: [PATCH] Python 3: fix glance.tests.functional.db.test_sqlalchemy This patch fixes 3 issues: - "RuntimeError: dictionary changed size during iteration" - "TypeError: 'map' object is not subscriptable" - "TypeError: object of type 'map' has no len()" Change-Id: If52ab336512f37b6e5ad6c748bef7996c67cb71a --- glance/db/sqlalchemy/api.py | 2 +- glance/db/sqlalchemy/glare.py | 4 ++-- glance/db/sqlalchemy/metadef_api/namespace.py | 2 +- tox.ini | 1 + 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/glance/db/sqlalchemy/api.py b/glance/db/sqlalchemy/api.py index 77ab68484c..b4a85db676 100644 --- a/glance/db/sqlalchemy/api.py +++ b/glance/db/sqlalchemy/api.py @@ -1412,7 +1412,7 @@ def task_create(context, values, session=None): def _pop_task_info_values(values): task_info_values = {} - for k, v in values.items(): + for k, v in list(values.items()): if k in ['input', 'result', 'message']: values.pop(k) task_info_values[k] = v diff --git a/glance/db/sqlalchemy/glare.py b/glance/db/sqlalchemy/glare.py index be41223c0e..2bda0cc59a 100644 --- a/glance/db/sqlalchemy/glare.py +++ b/glance/db/sqlalchemy/glare.py @@ -253,8 +253,8 @@ def get_all(context, session, marker=None, limit=None, context, session, filters, marker, limit, sort_keys, sort_dirs, show_level) - return map(lambda ns: _out(ns, show_level, show_text_properties=False), - artifacts) + return [_out(ns, show_level, show_text_properties=False) + for ns in artifacts] def _get_all(context, session, filters=None, marker=None, diff --git a/glance/db/sqlalchemy/metadef_api/namespace.py b/glance/db/sqlalchemy/metadef_api/namespace.py index 18a246439e..d0aac991e3 100644 --- a/glance/db/sqlalchemy/metadef_api/namespace.py +++ b/glance/db/sqlalchemy/metadef_api/namespace.py @@ -206,7 +206,7 @@ def get_all(context, session, marker=None, limit=None, namespaces = _get_all( context, session, filters, marker, limit, sort_key, sort_dir) - return map(lambda ns: ns.to_dict(), namespaces) + return [ns.to_dict() for ns in namespaces] def get(context, name, session): diff --git a/tox.ini b/tox.ini index a6652e4e3a..8457619841 100644 --- a/tox.ini +++ b/tox.ini @@ -43,6 +43,7 @@ commands = glance.tests.functional.test_cors_middleware \ glance.tests.functional.test_logging \ glance.tests.functional.db.test_simple \ + glance.tests.functional.db.test_sqlalchemy \ glance.tests.functional.db.test_rpc_endpoint \ glance.tests.functional.v1.test_multiprocessing \ glance.tests.functional.v2.test_metadef_objects \