numam-spdk/test/fuzz/autofuzz.sh
WANGHAILIANG cdbcc4634e test: add autotest of fuzz_iscsi
Add fuzz_iscsi into autofuzz.sh.

Change-Id: Iff65ce473712da11c878426ea6d2378c7254ead6
Signed-off-by: WANGHAILIANG <hailiangx.e.wang@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1096
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2020-03-31 07:59:03 +00:00

75 lines
1.9 KiB
Bash
Executable File

#!/usr/bin/env bash
testdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $testdir/../..)
source "$rootdir/test/common/autotest_common.sh"
TEST_TIMEOUT=1200
# The term transport is used a bit loosely for vhost tests.
allowed_nvme_transports=("rdma" "tcp")
allowed_vhost_transports=("scsi" "blk" "all")
bad_transport=true
config_params="--enable-asan --enable-ubsan --enable-debug --without-isal"
# These arguments are used in addition to the test arguments in autotest_common.sh
for i in "$@"; do
case "$i" in
--module=*)
TEST_MODULE="${i#*=}"
;;
--timeout=*)
TEST_TIMEOUT="${i#*=}"
;;
esac
done
timing_enter autofuzz
if [ "$TEST_MODULE" == "nvmf" ]; then
allowed_transports=( "${allowed_nvme_transports[@]}" )
if [ $TEST_TRANSPORT == "rdma" ]; then
config_params="$config_params --with-rdma"
fi
elif [ "$TEST_MODULE" == "vhost" ]; then
allowed_transports=( "${allowed_vhost_transports[@]}" )
config_params="$config_params --with-vhost --with-virtio"
else
echo "Invalid module specified. Please specify either nvmf or vhost."
exit 1
fi
for transport in "${allowed_transports[@]}"; do
if [ $transport == "$TEST_TRANSPORT" ]; then
bad_transport=false
fi
done
if $bad_transport; then
echo "invalid transport. Please supply one of the following for module: $TEST_MODULE."
echo "${allowed_transports[@]}"
exit 1
fi
timing_enter make
cd $rootdir
./configure $config_params
$MAKE $MAKEFLAGS
timing_exit make
# supply --iso to each test module so that it can run setup.sh.
timing_enter fuzz_module
if [ "$TEST_MODULE" == "nvmf" ]; then
sudo $testdir/autofuzz_nvmf.sh --iso --transport=$TEST_TRANSPORT --timeout=$TEST_TIMEOUT
fi
if [ "$TEST_MODULE" == "vhost" ]; then
sudo $testdir/autofuzz_vhost.sh --iso --transport=$TEST_TRANSPORT --timeout=$TEST_TIMEOUT
fi
if [ "$TEST_MODULE" == "iscsi" ]; then
sudo $testdir/autofuzz_iscsi.sh --iso --transport=$TEST_TRANSPORT --timeout=$TEST_TIMEOUT
fi
timing_exit fuzz_module
timing_exit autofuzz