On 10/19/18 3:15 PM, Max Reitz wrote:
> When dumping an object into the log, there are differences between
> Python 2 and 3. First, unicode strings are prefixed by 'u' in Python 2
> (they are no longer in 3, because unicode strings are the default
> there). Second, the order of keys in dicts may differ. Third,
> especially long numbers are longs in Python 2 and thus get an 'L'
> suffix, which does not happen in Python 3.
>
> We can get around all of these differences by dumping objects (lists and
> dicts) in a language-independent format, namely JSON. The JSON
> generator even allows emitting dicts with their keys sorted
> alphabetically.
>
> This changes the output of all tests that use these logging functions
> (dict keys are ordered now, strings in dicts are now enclosed in double
> quotes instead of single quotes, the 'L' suffix of large integers is
> dropped, and "true" and "false" are now in lower case).
> The quote change necessitates a small change to a filter used in test
> 207.
>
> Suggested-by: Eduardo Habkost <ehabk...@redhat.com>
> Signed-off-by: Max Reitz <mre...@redhat.com>
Reviewed-by: Cleber Rosa <cr...@redhat.com>