summaryrefslogtreecommitdiffstats
path: root/src/spdk/test/nvmf/target/multitarget.sh
blob: 4c3ece7c0dd355f1b6deae475f327a90c15be8f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env bash
testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../../..)
source $rootdir/test/common/autotest_common.sh
source $rootdir/test/nvmf/common.sh

# For the time being this script is just menat to confirm the basic functionality of the
# multitarget RPCs as the in-tree applications don't support multi-target functionality.
rpc_py="$rootdir/test/nvmf/target/multitarget_rpc.py"

nvmftestinit
nvmfappstart -m 0xF

trap 'process_shm --id $NVMF_APP_SHM_ID; nvmftestfini $1; exit 1' SIGINT SIGTERM EXIT

# Target application should start with a single target.
if [ "$($rpc_py nvmf_get_targets | jq 'length')" != "1" ]; then
	echo "SPDK application did not start with the proper number of targets." && false
fi

$rpc_py nvmf_create_target -n nvmf_tgt_1 -s 32
$rpc_py nvmf_create_target -n nvmf_tgt_2 -s 32

if [ "$($rpc_py nvmf_get_targets | jq 'length')" != "3" ]; then
	echo "nvmf_create_target RPC didn't properly create targets." && false
fi

$rpc_py nvmf_delete_target -n nvmf_tgt_1
$rpc_py nvmf_delete_target -n nvmf_tgt_2

if [ "$($rpc_py nvmf_get_targets | jq 'length')" != "1" ]; then
	echo "nvmf_delete_target RPC didn't properly destroy targets." && false
fi

trap - SIGINT SIGTERM EXIT

nvmftestfini