From db8c911e5aa1e69d77fb57cee917098a01684655 Mon Sep 17 00:00:00 2001 From: Konrad Sztyber Date: Wed, 18 Jan 2023 12:17:45 +0100 Subject: [PATCH] rpc: replace underscores only in option names To be backwards compatible, we allow users to pass options with both the underscores and hyphens, e.g. `bdev_get_bdevs --timeout-us 100` and `bdev_get_bdevs --timeout_us 100` are equivalent. However, python's argparse allows users to pass option values after equals sign and we would also replace any underscores in those values (e.g. `bdev_get_bdevs --name=bdev_null0` would become `bdev_get_bdevs --name=bdev-null0`). This patch fixes that. Signed-off-by: Konrad Sztyber Change-Id: I82d3adb39167ff5e20451e8ab7de7bb50edb670e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16334 Reviewed-by: Jim Harris Reviewed-by: Tomasz Zawadzki Tested-by: SPDK CI Jenkins --- scripts/rpc.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/rpc.py b/scripts/rpc.py index fd6f35862..5a8348b1a 100755 --- a/scripts/rpc.py +++ b/scripts/rpc.py @@ -3454,7 +3454,8 @@ Format: 'user:u1 secret:s1 muser:mu1 msecret:ms1,user:u2 secret:s2 muser:mu2 mse for i in range(len(args)): arg = args[i] if arg.startswith('--') and "_" in arg: - args[i] = arg.replace('_', '-') + opt, *vals = arg.split('=') + args[i] = '='.join([opt.replace('_', '-'), *vals]) plugins = [] load_plugin(None)