Spdk/test/event/scheduler/scheduler.sh
Michal Berger 7347f60bbc autotest: Use rpc_cmd() for rpc plugin-based tests
Also, create a common dir which will hold symlinks to all existing
plugins used in the tests. Location of the actual lib is not changed
so the relation to the given test suite is clearly preserved.

Signed-off-by: Michal Berger <michalx.berger@intel.com>
Change-Id: Icb70bbc61fbfa3325a357d5dd93f554ff132a3b9
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7146
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2021-04-02 08:22:42 +00:00

40 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
function scheduler_create_thread() {
$rpc --plugin scheduler_plugin scheduler_thread_create -n active_pinned -m 0x1 -a 100
$rpc --plugin scheduler_plugin scheduler_thread_create -n active_pinned -m 0x2 -a 100
$rpc --plugin scheduler_plugin scheduler_thread_create -n active_pinned -m 0x4 -a 100
$rpc --plugin scheduler_plugin scheduler_thread_create -n active_pinned -m 0x8 -a 100
$rpc --plugin scheduler_plugin scheduler_thread_create -n idle_pinned -m 0x1 -a 0
$rpc --plugin scheduler_plugin scheduler_thread_create -n idle_pinned -m 0x2 -a 0
$rpc --plugin scheduler_plugin scheduler_thread_create -n idle_pinned -m 0x4 -a 0
$rpc --plugin scheduler_plugin scheduler_thread_create -n idle_pinned -m 0x8 -a 0
$rpc --plugin scheduler_plugin scheduler_thread_create -n one_third_active -a 30
thread_id=$($rpc --plugin scheduler_plugin scheduler_thread_create -n half_active -a 0)
$rpc --plugin scheduler_plugin scheduler_thread_set_active $thread_id 50
thread_id=$($rpc --plugin scheduler_plugin scheduler_thread_create -n deleted -a 100)
$rpc --plugin scheduler_plugin scheduler_thread_delete $thread_id
}
rpc=rpc_cmd
$testdir/scheduler -m 0xF -p 0x2 --wait-for-rpc &
scheduler_pid=$!
trap 'killprocess $scheduler_pid; exit 1' SIGINT SIGTERM EXIT
waitforlisten $scheduler_pid
$rpc framework_set_scheduler dynamic
$rpc framework_start_init
# basic integrity test
run_test "scheduler_create_thread" scheduler_create_thread
trap - SIGINT SIGTERM EXIT
killprocess $scheduler_pid