rpc: Add test for pluggable RPCs
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: I62d8672389723f09e58ed66330e364042f375145 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2419 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
parent
d3cf561199
commit
0418ef1ef1
@ -25,14 +25,29 @@ function rpc_integrity() {
|
||||
}
|
||||
}
|
||||
|
||||
function rpc_plugins() {
|
||||
time {
|
||||
malloc=$($rpc --plugin rpc_plugin create_malloc)
|
||||
bdevs=$($rpc bdev_get_bdevs)
|
||||
[ "$(jq length <<< "$bdevs")" == "1" ]
|
||||
|
||||
$rpc --plugin rpc_plugin delete_malloc $malloc
|
||||
bdevs=$($rpc bdev_get_bdevs)
|
||||
[ "$(jq length <<< "$bdevs")" == "0" ]
|
||||
}
|
||||
}
|
||||
|
||||
$rootdir/app/spdk_tgt/spdk_tgt &
|
||||
spdk_pid=$!
|
||||
trap 'killprocess $spdk_pid; exit 1' SIGINT SIGTERM EXIT
|
||||
waitforlisten $spdk_pid
|
||||
|
||||
export PYTHONPATH=$PWD/test/rpc/
|
||||
|
||||
# basic integrity test
|
||||
rpc="$rootdir/scripts/rpc.py"
|
||||
run_test "rpc_integrity" rpc_integrity
|
||||
run_test "rpc_plugins" rpc_plugins
|
||||
# same test, but with rpc_cmd() instead
|
||||
rpc="rpc_cmd"
|
||||
run_test "rpc_daemon_integrity" rpc_integrity
|
||||
|
24
test/rpc/rpc_plugin.py
Normal file
24
test/rpc/rpc_plugin.py
Normal file
@ -0,0 +1,24 @@
|
||||
from rpc.client import print_json
|
||||
|
||||
|
||||
def malloc_create(args):
|
||||
params = {'num_blocks': 256, 'block_size': 4096}
|
||||
return args.client.call('bdev_malloc_create', params)
|
||||
|
||||
|
||||
def malloc_delete(args):
|
||||
params = {'name': args.name}
|
||||
return args.client.call('bdev_malloc_delete', params)
|
||||
|
||||
|
||||
def create_malloc(args):
|
||||
print_json(malloc_create(args))
|
||||
|
||||
|
||||
def spdk_rpc_plugin_initialize(subparsers):
|
||||
p = subparsers.add_parser('create_malloc', help='Create malloc backend')
|
||||
p.set_defaults(func=create_malloc)
|
||||
|
||||
p = subparsers.add_parser('delete_malloc', help='Delete malloc backend')
|
||||
p.add_argument('name', help='malloc bdev name')
|
||||
p.set_defaults(func=malloc_delete)
|
Loading…
Reference in New Issue
Block a user