e394fb3bed
We should be able to change the runtime of the application based on command line arguments without having to update the bash scripts. Change-Id: I9fbd8e0386d7e3c39da853a89bf4aff08cb916f0 Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/462791 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
71 lines
1.8 KiB
Bash
Executable File
71 lines
1.8 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
|
|
timing_exit fuzz_module
|
|
timing_exit autofuzz
|