453b15d62d
This is an application designed to provide custom RPC interface for testing scheduler and governor implementations. Based on those RPCs scenarios later can be implemented to verify functionality. Tests added here verify just the app itself. Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I74b81234b95d815864cf8264705d728e3a7fe309 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5763 Community-CI: Broadcom CI Reviewed-by: Maciej Szwed <maciej.szwed@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Michal Berger <michalx.berger@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
51 lines
1.5 KiB
Bash
Executable File
51 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
testdir=$(readlink -f $(dirname $0))
|
|
rootdir=$(readlink -f $testdir/../..)
|
|
source $rootdir/test/common/autotest_common.sh
|
|
source $rootdir/test/bdev/nbd_common.sh
|
|
|
|
function app_repeat_test() {
|
|
local rpc_server=/var/tmp/spdk-nbd.sock
|
|
local nbd_list=("/dev/nbd0" "/dev/nbd1")
|
|
local bdev_list=("Malloc0" "Malloc1")
|
|
local repeat_times=4
|
|
|
|
modprobe nbd
|
|
$rootdir/test/event/app_repeat/app_repeat -r $rpc_server -m 0x3 -t $repeat_times &
|
|
repeat_pid=$!
|
|
trap 'killprocess $repeat_pid; exit 1' SIGINT SIGTERM EXIT
|
|
echo "Process app_repeat pid: $repeat_pid"
|
|
|
|
for i in {0..2}; do
|
|
echo "spdk_app_start Round $i"
|
|
waitforlisten $repeat_pid $rpc_server
|
|
|
|
$rootdir/scripts/rpc.py -s $rpc_server bdev_malloc_create 64 4096
|
|
$rootdir/scripts/rpc.py -s $rpc_server bdev_malloc_create 64 4096
|
|
|
|
nbd_rpc_data_verify $rpc_server "${bdev_list[*]}" "${nbd_list[*]}"
|
|
# This SIGTERM is sent to the app_repeat test app - it doesn't actually
|
|
# terminate the app, it just causes it go through another
|
|
# spdk_app_stop/spdk_app_start cycle
|
|
./scripts/rpc.py -s $rpc_server spdk_kill_instance SIGTERM
|
|
done
|
|
|
|
waitforlisten $repeat_pid $rpc_server
|
|
killprocess $repeat_pid
|
|
trap - SIGINT SIGTERM EXIT
|
|
|
|
return 0
|
|
}
|
|
|
|
run_test "event_perf" $testdir/event_perf/event_perf -m 0xF -t 1
|
|
run_test "event_reactor" $testdir/reactor/reactor -t 1
|
|
run_test "event_reactor_perf" $testdir/reactor_perf/reactor_perf -t 1
|
|
|
|
if [ $(uname -s) = Linux ]; then
|
|
run_test "event_scheduler" $testdir/scheduler/scheduler.sh
|
|
if modprobe -n nbd; then
|
|
run_test "app_repeat" app_repeat_test
|
|
fi
|
|
fi
|