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: + 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}') -- 2.25.1