844c8ec383
Change-Id: I93e7b9d355870b0528a0ac3382fba1a10a558d45 Signed-off-by: Michal Berger <michalx.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1718 Community-CI: Mellanox Build Bot Reviewed-by: Karol Latecki <karol.latecki@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
75 lines
1.9 KiB
Bash
Executable File
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
|