diff --git a/test/bdd/utils/checks.py b/test/bdd/utils/checks.py index 84032636..1d09f378 100644 --- a/test/bdd/utils/checks.py +++ b/test/bdd/utils/checks.py @@ -7,6 +7,7 @@ """ Helper functions to compare expected values. """ +import ast import collections.abc import json import re @@ -58,7 +59,8 @@ COMPARISON_FUNCS = { None: lambda val, exp: str(val) == exp, 'i': lambda val, exp: str(val).lower() == exp.lower(), 'fm': lambda val, exp: re.fullmatch(exp, val) is not None, - 'dict': lambda val, exp: val is None if exp == '-' else (val == json.loads('{' + exp + '}')), + 'dict': lambda val, exp: (val is None if exp == '-' + else (val == ast.literal_eval('{' + exp + '}'))), 'in_box': within_box } diff --git a/test/bdd/utils/place_inserter.py b/test/bdd/utils/place_inserter.py index d12f30a5..6d37b850 100644 --- a/test/bdd/utils/place_inserter.py +++ b/test/bdd/utils/place_inserter.py @@ -7,7 +7,7 @@ """ Helper classes for filling the place table. """ -import json +import ast import random import string @@ -52,7 +52,7 @@ class PlaceColumn: elif key.startswith('addr+'): self._add_hstore('address', key[5:], value) elif key in ('name', 'address', 'extratags'): - self.columns[key] = json.loads('{' + value + '}') + self.columns[key] = ast.literal_eval('{' + value + '}') else: assert key in ('class', 'type'), "Unknown column '{}'.".format(key) self.columns[key] = None if value == '' else value