Commit 72ba4c8b authored by Tomasz Zawadzki's avatar Tomasz Zawadzki Committed by Jim Harris
Browse files

test/rpc: add test to verify rpc.py --dry-run



Add test to keep the --dry-run functionality working, useful for printing
the JSON that would be sent to SPDK.
Similar to --verbose, but without a need to a running SPDK instance.

Below an example for request in the test:
$ ./scripts/rpc.py --dry-run bdev_get_bdevs -b bdev_name
Request:
{
  "method": "bdev_get_bdevs",
  "params": {
    "name": "bdev_name"
  }
}
null

Change-Id: I772987fc94f75362a7b8cc7b998a49fb80d861bb
Signed-off-by: default avatarTomasz Zawadzki <tomasz.zawadzki@nutanix.com>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/26542


Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
Reviewed-by: default avatarJacek Kalwas <jacek.kalwas@nutanix.com>
Reviewed-by: default avatarBoris Glimcher <Boris.Glimcher@emc.com>
parent 7ea084c4
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -36,6 +36,16 @@ function rpc_plugins() {
	[ "$(jq length <<< "$bdevs")" == "0" ]
}

function rpc_dry_run() {
	local rpc_py="$rootdir/scripts/rpc.py"

	# Remove first line with 'Request:'
	# Remove last line with 'null'
	json=$($rpc_py --dry-run bdev_get_bdevs -b bdev_name | sed '1d;$d')
	[ "$(jq -r '.method' <<< "$json")" == "bdev_get_bdevs" ]
	[ "$(jq -r '.params.name' <<< "$json")" == "bdev_name" ]
}

function rpc_trace_cmd_test() {
	local info

@@ -72,6 +82,7 @@ export PYTHONPATH=$PYTHONPATH:$testdir
rpc=rpc_cmd
run_test "rpc_integrity" rpc_integrity
run_test "rpc_plugins" rpc_plugins
run_test "rpc_dry_run" rpc_dry_run
run_test "rpc_trace_cmd_test" rpc_trace_cmd_test
if [[ $SPDK_JSONRPC_GO_CLIENT -eq 1 ]]; then
	run_test "go_rpc" go_rpc