[Qemu-devel] [PATCH v3 07/13] qapi: ensure stable sort ordering when checking QAPI entities

Daniel P. Berrange posted 13 patches 8 years ago
There is a newer version of this series
[Qemu-devel] [PATCH v3 07/13] qapi: ensure stable sort ordering when checking QAPI entities
Posted by Daniel P. Berrange 8 years ago
Some early python 3.x versions will have different default
ordering when calling the 'values()' method on a dict, compared
to python 2.x and later 3.x versions. Explicitly sort the items
to get a stable ordering.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 scripts/qapi.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/qapi.py b/scripts/qapi.py
index b6a7b5139f..6266447eb0 100644
--- a/scripts/qapi.py
+++ b/scripts/qapi.py
@@ -1678,7 +1678,7 @@ class QAPISchema(object):
                 assert False
 
     def check(self):
-        for ent in self._entity_dict.values():
+        for (name, ent) in sorted(self._entity_dict.items()):
             ent.check(self)
 
     def visit(self, visitor):
-- 
2.14.3


Re: [Qemu-devel] [PATCH v3 07/13] qapi: ensure stable sort ordering when checking QAPI entities
Posted by Philippe Mathieu-Daudé 8 years ago
On 01/15/2018 07:26 AM, Daniel P. Berrange wrote:
> Some early python 3.x versions will have different default
> ordering when calling the 'values()' method on a dict, compared
> to python 2.x and later 3.x versions. Explicitly sort the items
> to get a stable ordering.
> 
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>

> ---
>  scripts/qapi.py | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/scripts/qapi.py b/scripts/qapi.py
> index b6a7b5139f..6266447eb0 100644
> --- a/scripts/qapi.py
> +++ b/scripts/qapi.py
> @@ -1678,7 +1678,7 @@ class QAPISchema(object):
>                  assert False
>  
>      def check(self):
> -        for ent in self._entity_dict.values():
> +        for (name, ent) in sorted(self._entity_dict.items()):
>              ent.check(self)
>  
>      def visit(self, visitor):
>