On 7/4/22 11:53 AM, Takanari Hayama wrote: [...] >>> Add a support for enum property type to AtomicRequest. >>> >>> Signed-off-by: Takanari Hayama <taki@xxxxxxxxxx> >>> --- >>> tests/kmstest.py | 12 +++++++++++- >>> 1 file changed, 11 insertions(+), 1 deletion(-) >>> >>> diff --git a/tests/kmstest.py b/tests/kmstest.py >>> index 11cc328b5b32..224c160e32fa 100755 >>> --- a/tests/kmstest.py >>> +++ b/tests/kmstest.py >>> @@ -269,8 +269,18 @@ class AtomicRequest(pykms.AtomicReq): >>> >>> min, max = prop.values >>> v = min + int((max - min) * int(v[:-1]) / 100) >>> - else: >>> + elif v.isnumeric(): >>> v = int(v) >>> + else: >>> + prop = obj.get_prop(k) >>> + if prop.type != pykms.PropertyType.Enum: >>> + raise RuntimeError(f'Unsupported property type {prop.type} for value {v}') >>> + for value, mode in prop.enums.items(): >>> + if mode == v: >>> + v = value >>> + break >>> + else: >> >> Hm, doesn't seem to be correctly aligned? > > That ‘else’ is for ‘for’-loop. Am I missing something here? Hm, I don't really know Python, can it actually have else for a loop? >>> + raise RuntimeError(f'Enum value with name "{v}" not found in property {k}') >>> >>> if not isinstance(v, int): >>> raise RuntimeError(f'Unsupported value type {type(v)} for property {k}') MBR, Sergey [...]