These scripts are intended to be run as part of a standalone automated jenkins fuzz testing job. hey are intentionally set to run for approximately 20 minutes at a time. Change-Id: I861e01abf8b86a7531111119655f487f8d982200 Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/462006 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
66 lines
1.7 KiB
Bash
Executable File
66 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
testdir=$(readlink -f $(dirname $0))
|
|
rootdir=$(readlink -f $testdir/../..)
|
|
|
|
source "$rootdir/test/common/autotest_common.sh"
|
|
|
|
# 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"
|
|
|
|
# This argument is used in addition to the test arguments in autotest_common.sh
|
|
for i in "$@"; do
|
|
case "$i" in
|
|
--module=*)
|
|
TEST_MODULE="${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
|
|
fi
|
|
|
|
if [ "$TEST_MODULE" == "vhost" ]; then
|
|
sudo $testdir/autofuzz_vhost.sh --iso --transport=$TEST_TRANSPORT
|
|
fi
|
|
timing_exit fuzz_module
|
|
timing_exit autofuzz
|