test/common: Source *_APP from a common place
Instead of declaring each app in the actual test, source their default declarations from a single location. Additionally, use them as arrays now instead for easier cmdline management. Change-Id: I0ea39403f070dc57987065ebb800e91c35de643a Signed-off-by: Michal Berger <michalx.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/690 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
This commit is contained in:
parent
6f7cb2ad58
commit
b4c5509c6e
11
test/common/applications.sh
Normal file
11
test/common/applications.sh
Normal file
@ -0,0 +1,11 @@
|
||||
# Default set of apps used in functional testing
|
||||
|
||||
_root=$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")
|
||||
_root=${_root%/test/common}
|
||||
_app_dir=$_root/app
|
||||
_test_app_dir=$_root/test/app
|
||||
|
||||
FUZZ_APP=("$_test_app_dir/fuzz/vhost_fuzz/vhost_fuzz")
|
||||
ISCSI_APP=("$_app_dir/iscsi_tgt/iscsi_tgt")
|
||||
NVMF_APP=("$_app_dir/nvmf_tgt/nvmf_tgt")
|
||||
VHOST_APP=("$_app_dir/vhost/vhost")
|
@ -16,6 +16,8 @@ xtrace_disable
|
||||
set -e
|
||||
shopt -s expand_aliases
|
||||
|
||||
source "$rootdir/test/common/applications.sh"
|
||||
|
||||
# Dummy function to be called after restoring xtrace just so that it appears in the
|
||||
# xtrace log. This way we can consistently track when xtrace is enabled/disabled.
|
||||
function xtrace_enable() {
|
||||
|
@ -24,7 +24,7 @@ timing_enter nvmf_fuzz_test
|
||||
echo "[Nvme]" > $testdir/nvmf_fuzz.conf
|
||||
echo " TransportID \"trtype:$TEST_TRANSPORT adrfam:IPv4 subnqn:nqn.2016-06.io.spdk:cnode1 traddr:$NVMF_FIRST_TARGET_IP trsvcid:$NVMF_PORT\" Nvme0" >> $testdir/nvmf_fuzz.conf
|
||||
|
||||
$NVMF_APP -m 0xF &>$output_dir/nvmf_autofuzz_tgt_output.txt &
|
||||
"${NVMF_APP[@]}" -m 0xF &>"$output_dir/nvmf_autofuzz_tgt_output.txt" &
|
||||
nvmfpid=$!
|
||||
|
||||
trap 'process_shm --id $NVMF_APP_SHM_ID; rm -f $testdir/nvmf_fuzz.conf; killprocess $nvmfpid; nvmftestfini $1; exit 1' SIGINT SIGTERM EXIT
|
||||
|
@ -6,9 +6,9 @@ source "$rootdir/scripts/common.sh"
|
||||
|
||||
TEST_TIMEOUT=1200
|
||||
|
||||
VHOST_APP="$rootdir/app/vhost/vhost -p 0"
|
||||
VHOST_APP+=(-p 0)
|
||||
FUZZ_RPC_SOCK="/var/tmp/spdk_fuzz.sock"
|
||||
FUZZ_APP="$rootdir/test/app/fuzz/vhost_fuzz/vhost_fuzz -r $FUZZ_RPC_SOCK --wait-for-rpc"
|
||||
FUZZ_APP+=(-r "$FUZZ_RPC_SOCK" --wait-for-rpc)
|
||||
|
||||
vhost_rpc_py="$rootdir/scripts/rpc.py"
|
||||
fuzz_generic_rpc_py="$rootdir/scripts/rpc.py -s $FUZZ_RPC_SOCK"
|
||||
@ -29,13 +29,13 @@ timing_enter setup
|
||||
$rootdir/scripts/setup.sh
|
||||
timing_exit setup
|
||||
|
||||
$VHOST_APP &>$output_dir/vhost_fuzz_tgt_output.txt &
|
||||
"${VHOST_APP[@]}" &>"$output_dir/vhost_fuzz_tgt_output.txt" &
|
||||
vhostpid=$!
|
||||
waitforlisten $vhostpid
|
||||
|
||||
trap 'killprocess $vhostpid; exit 1' SIGINT SIGTERM exit
|
||||
|
||||
$FUZZ_APP -t $TEST_TIMEOUT 2>$output_dir/vhost_autofuzz_output1.txt &
|
||||
"${FUZZ_APP[@]}" -t $TEST_TIMEOUT 2>"$output_dir/vhost_autofuzz_output1.txt" &
|
||||
fuzzpid=$!
|
||||
waitforlisten $fuzzpid $FUZZ_RPC_SOCK
|
||||
|
||||
|
@ -14,7 +14,7 @@ rpc_py="$rootdir/scripts/rpc.py"
|
||||
|
||||
timing_enter start_iscsi_tgt
|
||||
|
||||
$ISCSI_APP -m 0x2 -p 1 -s 512 --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" -m 0x2 -p 1 -s 512 --wait-for-rpc &
|
||||
pid=$!
|
||||
echo "iSCSI target launched. pid: $pid"
|
||||
trap 'killprocess $pid; iscsitestfini $1 $2; exit 1' SIGINT SIGTERM EXIT
|
||||
|
@ -28,7 +28,7 @@ echo "IP=$TARGET_IP" >> /usr/local/etc/its.conf
|
||||
|
||||
timing_enter start_iscsi_tgt
|
||||
|
||||
$ISCSI_APP -m 0x1 --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" -m 0x1 --wait-for-rpc &
|
||||
pid=$!
|
||||
echo "Process pid: $pid"
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
TARGET_INTERFACE="spdk_tgt_int"
|
||||
INITIATOR_INTERFACE="spdk_init_int"
|
||||
TARGET_NAMESPACE="spdk_iscsi_ns"
|
||||
TARGET_NS_CMD="ip netns exec $TARGET_NAMESPACE"
|
||||
TARGET_NS_CMD=(ip netns exec "$TARGET_NAMESPACE")
|
||||
|
||||
# iSCSI target configuration
|
||||
TARGET_IP=10.0.0.1
|
||||
@ -12,9 +12,9 @@ NETMASK=$INITIATOR_IP/32
|
||||
INITIATOR_TAG=2
|
||||
INITIATOR_NAME=ANY
|
||||
PORTAL_TAG=1
|
||||
ISCSI_APP="$TARGET_NS_CMD ./app/iscsi_tgt/iscsi_tgt"
|
||||
ISCSI_APP=("${TARGET_NS_CMD[@]}" "${ISCSI_APP[@]}")
|
||||
if [ $SPDK_TEST_VPP -eq 1 ]; then
|
||||
ISCSI_APP+=" -L sock_vpp"
|
||||
ISCSI_APP+=(-L sock_vpp)
|
||||
fi
|
||||
ISCSI_TEST_CORE_MASK=0xFF
|
||||
|
||||
@ -37,11 +37,11 @@ function create_veth_interfaces() {
|
||||
# Accept connections from veth interface
|
||||
iptables -I INPUT 1 -i $INITIATOR_INTERFACE -p tcp --dport $ISCSI_PORT -j ACCEPT
|
||||
|
||||
$TARGET_NS_CMD ip link set $TARGET_INTERFACE up
|
||||
"${TARGET_NS_CMD[@]}" ip link set $TARGET_INTERFACE up
|
||||
|
||||
if [ "$1" == "posix" ]; then
|
||||
$TARGET_NS_CMD ip link set lo up
|
||||
$TARGET_NS_CMD ip addr add $TARGET_IP/24 dev $TARGET_INTERFACE
|
||||
"${TARGET_NS_CMD[@]}" ip link set lo up
|
||||
"${TARGET_NS_CMD[@]}" ip addr add $TARGET_IP/24 dev $TARGET_INTERFACE
|
||||
|
||||
# Verify connectivity
|
||||
ping -c 1 $TARGET_IP
|
||||
@ -112,7 +112,7 @@ function start_vpp() {
|
||||
ethtool -k $INITIATOR_INTERFACE
|
||||
|
||||
# Start VPP process in SPDK target network namespace
|
||||
$TARGET_NS_CMD vpp \
|
||||
"${TARGET_NS_CMD[@]}" vpp \
|
||||
unix { nodaemon cli-listen /run/vpp/cli.sock } \
|
||||
dpdk { no-pci } \
|
||||
session { evt_qs_memfd_seg } \
|
||||
|
@ -53,7 +53,7 @@ fio_py="$rootdir/scripts/fio.py"
|
||||
|
||||
timing_enter start_iscsi_tgt
|
||||
|
||||
$ISCSI_APP -m $ISCSI_TEST_CORE_MASK --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" -m $ISCSI_TEST_CORE_MASK --wait-for-rpc &
|
||||
pid=$!
|
||||
echo "Process pid: $pid"
|
||||
|
||||
|
@ -14,7 +14,7 @@ node_base="iqn.2013-06.com.intel.ch.spdk"
|
||||
|
||||
timing_enter start_iscsi_tgt
|
||||
|
||||
$ISCSI_APP --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" --wait-for-rpc &
|
||||
pid=$!
|
||||
echo "Process pid: $pid"
|
||||
|
||||
|
@ -27,7 +27,7 @@ function remove_backends() {
|
||||
|
||||
timing_enter start_iscsi_tgt
|
||||
|
||||
$ISCSI_APP -m $ISCSI_TEST_CORE_MASK --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" -m $ISCSI_TEST_CORE_MASK --wait-for-rpc &
|
||||
pid=$!
|
||||
echo "Process pid: $pid"
|
||||
|
||||
|
@ -28,7 +28,7 @@ function running_config() {
|
||||
|
||||
timing_enter start_iscsi_tgt2
|
||||
|
||||
$ISCSI_APP --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" --wait-for-rpc &
|
||||
pid=$!
|
||||
echo "Process pid: $pid"
|
||||
trap 'iscsicleanup; killprocess $pid; delete_tmp_files; exit 1' SIGINT SIGTERM EXIT
|
||||
@ -62,7 +62,7 @@ fio_py="$rootdir/scripts/fio.py"
|
||||
|
||||
timing_enter start_iscsi_tgt
|
||||
|
||||
$ISCSI_APP --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" --wait-for-rpc &
|
||||
pid=$!
|
||||
echo "Process pid: $pid"
|
||||
|
||||
|
@ -16,7 +16,7 @@ rpc_py="$rootdir/scripts/rpc.py"
|
||||
|
||||
timing_enter start_iscsi_tgt
|
||||
|
||||
$ISCSI_APP -m 0x2 -p 1 -s 512 --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" -m 0x2 -p 1 -s 512 --wait-for-rpc &
|
||||
pid=$!
|
||||
echo "iSCSI target launched. pid: $pid"
|
||||
trap 'killprocess $pid;exit 1' SIGINT SIGTERM EXIT
|
||||
|
@ -14,7 +14,8 @@ fio_py="$rootdir/scripts/fio.py"
|
||||
|
||||
# Namespaces are NOT used here on purpose. This test requires changes to detect
|
||||
# ifc_index for interface that was put into namespace. Needed for net_interface_add_ip_address.
|
||||
ISCSI_APP="$rootdir/app/iscsi_tgt/iscsi_tgt"
|
||||
# Reset ISCSI_APP[] to use only the plain app for this test without TARGET_NS_CMD preset.
|
||||
source "$rootdir/test/common/applications.sh"
|
||||
NETMASK=127.0.0.0/24
|
||||
MIGRATION_ADDRESS=127.0.0.2
|
||||
|
||||
@ -82,7 +83,7 @@ for ((i = 0; i < 2; i++)); do
|
||||
rpc_addr="/var/tmp/spdk${i}.sock"
|
||||
|
||||
# TODO: run the different iSCSI instances on non-overlapping CPU masks
|
||||
$ISCSI_APP -r $rpc_addr -i $i -m $ISCSI_TEST_CORE_MASK --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" -r $rpc_addr -i $i -m $ISCSI_TEST_CORE_MASK --wait-for-rpc &
|
||||
pid=$!
|
||||
echo "Process pid: $pid"
|
||||
|
||||
|
@ -24,7 +24,7 @@ fio_py="$rootdir/scripts/fio.py"
|
||||
|
||||
timing_enter start_iscsi_tgt
|
||||
|
||||
$ISCSI_APP -m $ISCSI_TEST_CORE_MASK --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" -m $ISCSI_TEST_CORE_MASK --wait-for-rpc &
|
||||
pid=$!
|
||||
echo "Process pid: $pid"
|
||||
|
||||
|
@ -35,7 +35,7 @@ function remove_backends() {
|
||||
}
|
||||
|
||||
timing_enter start_iscsi_tgt
|
||||
$ISCSI_APP --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" --wait-for-rpc &
|
||||
iscsipid=$!
|
||||
echo "iSCSI target launched. pid: $iscsipid"
|
||||
trap 'remove_backends; iscsicleanup; killprocess $iscsipid; iscsitestfini $1 $2; exit 1' SIGINT SIGTERM EXIT
|
||||
|
@ -23,8 +23,7 @@ function run_nvme_remote() {
|
||||
echo "now use $1 method to run iscsi tgt."
|
||||
|
||||
iscsi_rpc_addr="/var/tmp/spdk-iscsi.sock"
|
||||
ISCSI_APP="$rootdir/app/iscsi_tgt/iscsi_tgt"
|
||||
$ISCSI_APP -r "$iscsi_rpc_addr" -m 0x1 -p 0 -s 512 --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" -r "$iscsi_rpc_addr" -m 0x1 -p 0 -s 512 --wait-for-rpc &
|
||||
iscsipid=$!
|
||||
echo "iSCSI target launched. pid: $iscsipid"
|
||||
trap 'killprocess $iscsipid; iscsitestfini $1 $2; nvmftestfini; exit 1' SIGINT SIGTERM EXIT
|
||||
@ -54,8 +53,7 @@ function run_nvme_remote() {
|
||||
}
|
||||
|
||||
# Start the NVMf target
|
||||
NVMF_APP="$rootdir/app/nvmf_tgt/nvmf_tgt"
|
||||
$NVMF_APP -m 0x2 -p 1 -s 512 --wait-for-rpc &
|
||||
"${NVMF_APP[@]}" -m 0x2 -p 1 -s 512 --wait-for-rpc &
|
||||
nvmfpid=$!
|
||||
echo "NVMf target launched. pid: $nvmfpid"
|
||||
trap 'iscsitestfini $1 $2; nvmftestfini; exit 1' SIGINT SIGTERM EXIT
|
||||
|
@ -16,7 +16,7 @@ rpc_py="$rootdir/scripts/rpc.py"
|
||||
fio_py="$rootdir/scripts/fio.py"
|
||||
|
||||
timing_enter start_iscsi_target
|
||||
$ISCSI_APP -m $ISCSI_TEST_CORE_MASK --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" -m $ISCSI_TEST_CORE_MASK --wait-for-rpc &
|
||||
pid=$!
|
||||
echo "Process pid: $pid"
|
||||
|
||||
|
@ -59,7 +59,7 @@ fio_py="$rootdir/scripts/fio.py"
|
||||
|
||||
timing_enter start_iscsi_tgt
|
||||
|
||||
$ISCSI_APP &
|
||||
"${ISCSI_APP[@]}" &
|
||||
pid=$!
|
||||
echo "Process pid: $pid"
|
||||
trap 'killprocess $pid; iscsitestfini $1 $2; exit 1' SIGINT SIGTERM EXIT
|
||||
|
@ -24,7 +24,7 @@ fio_py="$rootdir/scripts/fio.py"
|
||||
|
||||
timing_enter start_iscsi_tgt
|
||||
|
||||
$ISCSI_APP -m $ISCSI_TEST_CORE_MASK --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" -m $ISCSI_TEST_CORE_MASK --wait-for-rpc &
|
||||
pid=$!
|
||||
|
||||
trap 'killprocess $pid; rbd_cleanup; iscsitestfini $1 $2; exit 1' SIGINT SIGTERM EXIT
|
||||
|
@ -21,7 +21,7 @@ fi
|
||||
|
||||
timing_enter start_iscsi_tgt
|
||||
|
||||
$ISCSI_APP --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" --wait-for-rpc &
|
||||
pid=$!
|
||||
echo "Process pid: $pid"
|
||||
|
||||
|
@ -23,7 +23,7 @@ rpc_config_py="$testdir/rpc_config.py"
|
||||
|
||||
timing_enter start_iscsi_tgt
|
||||
|
||||
$ISCSI_APP --wait-for-rpc &
|
||||
"${ISCSI_APP[@]}" --wait-for-rpc &
|
||||
pid=$!
|
||||
echo "Process pid: $pid"
|
||||
|
||||
|
@ -81,7 +81,7 @@ if [ "$TEST_TYPE" != "posix" ] && [ "$TEST_TYPE" != "vpp" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
HELLO_SOCK_APP="$TARGET_NS_CMD $rootdir/examples/sock/hello_world/hello_sock"
|
||||
HELLO_SOCK_APP="${TARGET_NS_CMD[*]} $rootdir/examples/sock/hello_world/hello_sock"
|
||||
if [ $SPDK_TEST_VPP -eq 1 ]; then
|
||||
HELLO_SOCK_APP+=" -L sock_vpp"
|
||||
fi
|
||||
|
@ -38,7 +38,7 @@ fio_py="$rootdir/scripts/fio.py"
|
||||
timing_enter start_iscsi_tgt
|
||||
|
||||
echo "start iscsi_tgt with trace enabled"
|
||||
$ISCSI_APP -m 0xf --num-trace-entries $NUM_TRACE_ENTRIES --tpoint-group-mask 0xf &
|
||||
"${ISCSI_APP[@]}" -m 0xf --num-trace-entries $NUM_TRACE_ENTRIES --tpoint-group-mask 0xf &
|
||||
iscsi_pid=$!
|
||||
echo "Process pid: $iscsi_pid"
|
||||
|
||||
|
@ -8,14 +8,15 @@ NVMF_SERIAL=SPDK00000000000001
|
||||
function build_nvmf_app_args()
|
||||
{
|
||||
if [ $SPDK_RUN_NON_ROOT -eq 1 ]; then
|
||||
echo "sudo -u $(logname) ./app/nvmf_tgt/nvmf_tgt -i $NVMF_APP_SHM_ID -e 0xFFFF"
|
||||
NVMF_APP=(sudo -u "$USER" "${NVMF_APP[@]}")
|
||||
NVMF_APP+=(-i "$NVMF_APP_SHM_ID" -e 0xFFFF)
|
||||
else
|
||||
echo "./app/nvmf_tgt/nvmf_tgt -i $NVMF_APP_SHM_ID -e 0xFFFF"
|
||||
NVMF_APP+=(-i "$NVMF_APP_SHM_ID" -e 0xFFFF)
|
||||
fi
|
||||
}
|
||||
|
||||
: ${NVMF_APP_SHM_ID="0"}; export NVMF_APP_SHM_ID
|
||||
: ${NVMF_APP="$(build_nvmf_app_args)"}; export NVMF_APP
|
||||
build_nvmf_app_args
|
||||
|
||||
have_pci_nics=0
|
||||
|
||||
@ -207,7 +208,7 @@ function nvmftestinit()
|
||||
function nvmfappstart()
|
||||
{
|
||||
timing_enter start_nvmf_tgt
|
||||
$NVMF_APP $1 &
|
||||
"${NVMF_APP[@]}" $1 &
|
||||
nvmfpid=$!
|
||||
trap 'process_shm --id $NVMF_APP_SHM_ID; nvmftestfini; exit 1' SIGINT SIGTERM EXIT
|
||||
waitforlisten $nvmfpid
|
||||
|
@ -17,7 +17,7 @@ fi
|
||||
|
||||
timing_enter start_nvmf_tgt
|
||||
|
||||
$NVMF_APP -m 0xF &
|
||||
"${NVMF_APP[@]}" -m 0xF &
|
||||
nvmfpid=$!
|
||||
|
||||
trap 'process_shm --id $NVMF_APP_SHM_ID; nvmftestfini; exit 1' SIGINT SIGTERM EXIT
|
||||
|
@ -14,7 +14,7 @@ nvmftestinit
|
||||
|
||||
timing_enter start_nvmf_tgt
|
||||
|
||||
$NVMF_APP -m 0xF &
|
||||
"${NVMF_APP[@]}" -m 0xF &
|
||||
nvmfpid=$!
|
||||
|
||||
trap 'process_shm --id $NVMF_APP_SHM_ID; nvmftestfini; exit 1' SIGINT SIGTERM EXIT
|
||||
|
@ -9,7 +9,7 @@ rpc_py="$rootdir/scripts/rpc.py"
|
||||
|
||||
nvmftestinit
|
||||
|
||||
$NVMF_APP -m 0xF >$output_dir/nvmf_fuzz_tgt_output.txt 2>&1 &
|
||||
"${NVMF_APP[@]}" -m 0xF >$output_dir/nvmf_fuzz_tgt_output.txt 2>&1 &
|
||||
nvmfpid=$!
|
||||
|
||||
trap 'process_shm --id $NVMF_APP_SHM_ID; rm -f $testdir/nvmf_fuzz.conf; killprocess $nvmfpid; nvmftestfini $1; exit 1' SIGINT SIGTERM EXIT
|
||||
|
@ -26,7 +26,7 @@ timing_exit nvme_identify
|
||||
|
||||
timing_enter start_nvmf_tgt
|
||||
|
||||
$NVMF_APP -m 0xF --wait-for-rpc &
|
||||
"${NVMF_APP[@]}" -m 0xF --wait-for-rpc &
|
||||
nvmfpid=$!
|
||||
|
||||
trap 'process_shm --id $NVMF_APP_SHM_ID; nvmftestfini; exit 1' SIGINT SIGTERM EXIT
|
||||
|
@ -18,13 +18,13 @@ NVMF_SOCK="/tmp/nvmf_rpc.sock"
|
||||
NVMF_RPC="$rootdir/scripts/rpc.py -s $NVMF_SOCK"
|
||||
|
||||
VHOST_SOCK="/tmp/vhost_rpc.sock"
|
||||
VHOST_APP="$rootdir/app/vhost/vhost -p 0 -r $VHOST_SOCK -u"
|
||||
VHOST_APP+=(-p 0 -r "$VHOST_SOCK" -u)
|
||||
VHOST_RPC="$rootdir/scripts/rpc.py -s $VHOST_SOCK"
|
||||
|
||||
nvmftestinit
|
||||
|
||||
# Start Apps
|
||||
$NVMF_APP -r $NVMF_SOCK &
|
||||
"${NVMF_APP[@]}" -r $NVMF_SOCK &
|
||||
nvmfpid=$!
|
||||
waitforlisten $nvmfpid $NVMF_SOCK
|
||||
|
||||
@ -32,7 +32,7 @@ trap 'process_shm --id $NVMF_APP_SHM_ID; nvmftestfini; exit 1' SIGINT SIGTERM EX
|
||||
|
||||
mkdir -p "$(get_vhost_dir 3)"
|
||||
|
||||
$VHOST_APP -S "$(get_vhost_dir 3)" &
|
||||
"${VHOST_APP[@]}" -S "$(get_vhost_dir 3)" &
|
||||
vhostpid=$!
|
||||
waitforlisten $vhostpid $NVMF_SOCK
|
||||
|
||||
|
@ -5,21 +5,21 @@ rootdir=$(readlink -f $(dirname $0))/../../..
|
||||
source $rootdir/test/common/autotest_common.sh
|
||||
source "$rootdir/scripts/common.sh"
|
||||
|
||||
VHOST_APP="$rootdir/app/vhost/vhost -p 0"
|
||||
VHOST_APP+=(-p 0)
|
||||
FUZZ_RPC_SOCK="/var/tmp/spdk_fuzz.sock"
|
||||
FUZZ_APP="$rootdir/test/app/fuzz/vhost_fuzz/vhost_fuzz -r $FUZZ_RPC_SOCK --wait-for-rpc"
|
||||
FUZZ_APP+=(-r "$FUZZ_RPC_SOCK" --wait-for-rpc)
|
||||
|
||||
vhost_rpc_py="$rootdir/scripts/rpc.py"
|
||||
fuzz_generic_rpc_py="$rootdir/scripts/rpc.py -s $FUZZ_RPC_SOCK"
|
||||
fuzz_specific_rpc_py="$rootdir/test/app/fuzz/common/fuzz_rpc.py -s $FUZZ_RPC_SOCK"
|
||||
|
||||
$VHOST_APP >$output_dir/vhost_fuzz_tgt_output.txt 2>&1 &
|
||||
"${VHOST_APP[@]}" >"$output_dir/vhost_fuzz_tgt_output.txt" 2>&1 &
|
||||
vhostpid=$!
|
||||
waitforlisten $vhostpid
|
||||
|
||||
trap 'killprocess $vhostpid; exit 1' SIGINT SIGTERM exit
|
||||
|
||||
$FUZZ_APP -t 10 2>$output_dir/vhost_fuzz_output1.txt &
|
||||
"${FUZZ_APP[@]}" -t 10 2>"$output_dir/vhost_fuzz_output1.txt" &
|
||||
fuzzpid=$!
|
||||
waitforlisten $fuzzpid $FUZZ_RPC_SOCK
|
||||
|
||||
@ -47,7 +47,7 @@ $fuzz_generic_rpc_py framework_start_init
|
||||
|
||||
wait $fuzzpid
|
||||
|
||||
$FUZZ_APP -j $rootdir/test/app/fuzz/vhost_fuzz/example.json 2>$output_dir/vhost_fuzz_output2.txt &
|
||||
"${FUZZ_APP[@]}" -j "$rootdir/test/app/fuzz/vhost_fuzz/example.json" 2>"$output_dir/vhost_fuzz_output2.txt" &
|
||||
fuzzpid=$!
|
||||
waitforlisten $fuzzpid $FUZZ_RPC_SOCK
|
||||
|
||||
|
@ -36,30 +36,28 @@ vhosttestinit
|
||||
|
||||
trap error_exit ERR
|
||||
|
||||
VHOST_APP="$rootdir/app/vhost/vhost"
|
||||
|
||||
notice "Testing vhost command line arguments"
|
||||
# Printing help will force vhost to exit without error
|
||||
$VHOST_APP -c /path/to/non_existing_file/conf -S $testdir -e 0x0 -s 1024 -d -h --silence-noticelog
|
||||
"${VHOST_APP[@]}" -c /path/to/non_existing_file/conf -S $testdir -e 0x0 -s 1024 -d -h --silence-noticelog
|
||||
|
||||
# Testing vhost create pid file option. Vhost will exit with error as invalid config path is given
|
||||
if $VHOST_APP -c /path/to/non_existing_file/conf -f $VHOST_DIR/vhost/vhost.pid; then
|
||||
if "${VHOST_APP[@]}" -c /path/to/non_existing_file/conf -f "$VHOST_DIR/vhost/vhost.pid"; then
|
||||
fail "vhost started when specifying invalid config file"
|
||||
fi
|
||||
rm -f $VHOST_DIR/vhost/vhost.pid
|
||||
|
||||
# Testing vhost start with invalid config. Vhost will exit with error as bdev module init failed
|
||||
if $VHOST_APP -c $testdir/invalid.config; then
|
||||
if "${VHOST_APP[@]}" -c $testdir/invalid.config; then
|
||||
fail "vhost started when specifying invalid config file"
|
||||
fi
|
||||
|
||||
# Expecting vhost to fail if an incorrect argument is given
|
||||
if $VHOST_APP -x -h; then
|
||||
if "${VHOST_APP[@]}" -x -h; then
|
||||
fail "vhost started with invalid -x command line option"
|
||||
fi
|
||||
|
||||
# Passing trace flags if spdk is build without CONFIG_DEBUG=y option make vhost exit with error
|
||||
if ! $VHOST_APP -t vhost_scsi -h; then
|
||||
if ! "${VHOST_APP[@]}" -t vhost_scsi -h; then
|
||||
warning "vhost did not started with trace flags enabled but ignoring this as it might not be a debug build"
|
||||
fi
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user