diff --git a/test/common/autotest_common.sh b/test/common/autotest_common.sh index 25fa8bf10..f70637617 100644 --- a/test/common/autotest_common.sh +++ b/test/common/autotest_common.sh @@ -236,6 +236,23 @@ function timing_finish() { fi } +function parse_common_script_args() { + TEST_MODE= + for i in "$@"; do + case "$i" in + --iso) + TEST_MODE=iso + ;; + --transport=*) + TEST_TRANSPORT="${i#*=}" + ;; + --sock=*) + TEST_SOCK="${i#*=}" + ;; + esac + done +} + function create_test_list() { grep -rshI --exclude="autotest_common.sh" --exclude="$rootdir/test/common/autotest_common.sh" -e "report_test_completion" $rootdir | sed 's/report_test_completion//g; s/[[:blank:]]//g; s/"//g;' > $output_dir/all_tests.txt || true } diff --git a/test/iscsi_tgt/bdev_io_wait/bdev_io_wait.sh b/test/iscsi_tgt/bdev_io_wait/bdev_io_wait.sh index 716070caa..bdc1cd547 100755 --- a/test/iscsi_tgt/bdev_io_wait/bdev_io_wait.sh +++ b/test/iscsi_tgt/bdev_io_wait/bdev_io_wait.sh @@ -5,8 +5,8 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/iscsi_tgt/common.sh -# $1 = "iso" - triggers isolation mode (setting up required environment). -# $2 = test type posix or vpp. defaults to posix. +parse_common_script_args $@ + iscsitestinit $1 $2 timing_enter bdev_io_wait diff --git a/test/nvmf/README.md b/test/nvmf/README.md new file mode 100644 index 000000000..19d6954c2 --- /dev/null +++ b/test/nvmf/README.md @@ -0,0 +1,5 @@ +# NVMe-oF test scripts + +The test scripts in this directory hierarchy can be run in isolation by passing +the --iso flag when running the test script. This will set up the RDMA NIC for +testing and then tear it back down again when the test is completed. diff --git a/test/nvmf/common.sh b/test/nvmf/common.sh index 9df1ba309..614056c8a 100755 --- a/test/nvmf/common.sh +++ b/test/nvmf/common.sh @@ -10,8 +10,6 @@ NVMF_TCP_IP_ADDRESS="127.0.0.1" have_pci_nics=0 -NVMF_TEST_MODE=$1 - function load_ib_rdma_modules() { if [ `uname` != Linux ]; then @@ -159,7 +157,7 @@ function nvmfcleanup() function nvmftestinit() { - if [ "$NVMF_TEST_MODE" == "iso" ]; then + if [ "$TEST_MODE" == "iso" ]; then $rootdir/scripts/setup.sh rdma_device_init fi @@ -185,7 +183,7 @@ function nvmfappstart() function nvmftestfini() { killprocess $nvmfpid - if [ "$NVMF_TEST_MODE" == "iso" ]; then + if [ "$TEST_MODE" == "iso" ]; then $rootdir/scripts/setup.sh reset rdma_device_init fi diff --git a/test/nvmf/host/aer.sh b/test/nvmf/host/aer.sh index 60c8b75ad..1e603b5b2 100755 --- a/test/nvmf/host/aer.sh +++ b/test/nvmf/host/aer.sh @@ -5,12 +5,12 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + rpc_py="$rootdir/scripts/rpc.py" set -e -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./aer.sh iso nvmftestinit RDMA_IP_LIST=$(get_available_rdma_ips) diff --git a/test/nvmf/host/bdevperf.sh b/test/nvmf/host/bdevperf.sh index a1f496afc..560e057a8 100755 --- a/test/nvmf/host/bdevperf.sh +++ b/test/nvmf/host/bdevperf.sh @@ -5,6 +5,8 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + MALLOC_BDEV_SIZE=64 MALLOC_BLOCK_SIZE=512 @@ -12,8 +14,6 @@ rpc_py="$rootdir/scripts/rpc.py" set -e -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./bdevperf.sh iso nvmftestinit RDMA_IP_LIST=$(get_available_rdma_ips) diff --git a/test/nvmf/host/fio.sh b/test/nvmf/host/fio.sh index 7ca7b2faa..711878aed 100755 --- a/test/nvmf/host/fio.sh +++ b/test/nvmf/host/fio.sh @@ -6,12 +6,12 @@ source $rootdir/test/common/autotest_common.sh source $rootdir/scripts/common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + rpc_py="$rootdir/scripts/rpc.py" set -e -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./fio.sh iso nvmftestinit RDMA_IP_LIST=$(get_available_rdma_ips) diff --git a/test/nvmf/host/identify.sh b/test/nvmf/host/identify.sh index a3ce8e3aa..8a44c2d9d 100755 --- a/test/nvmf/host/identify.sh +++ b/test/nvmf/host/identify.sh @@ -5,14 +5,14 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + MALLOC_BDEV_SIZE=64 MALLOC_BLOCK_SIZE=512 rpc_py="$rootdir/scripts/rpc.py" set -e -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./identify.sh iso nvmftestinit RDMA_IP_LIST=$(get_available_rdma_ips) diff --git a/test/nvmf/host/identify_kernel_nvmf.sh b/test/nvmf/host/identify_kernel_nvmf.sh index 53040c3c7..e55801d2c 100755 --- a/test/nvmf/host/identify_kernel_nvmf.sh +++ b/test/nvmf/host/identify_kernel_nvmf.sh @@ -5,9 +5,9 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + set -e -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./identify_kernel_nvmf.sh iso nvmftestinit RDMA_IP_LIST=$(get_available_rdma_ips) diff --git a/test/nvmf/host/perf.sh b/test/nvmf/host/perf.sh index fb0e63f93..09186701f 100755 --- a/test/nvmf/host/perf.sh +++ b/test/nvmf/host/perf.sh @@ -5,6 +5,8 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + MALLOC_BDEV_SIZE=64 MALLOC_BLOCK_SIZE=512 @@ -12,8 +14,6 @@ rpc_py="$rootdir/scripts/rpc.py" set -e -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./perf.sh iso nvmftestinit RDMA_IP_LIST=$(get_available_rdma_ips) diff --git a/test/nvmf/target/bdev_io_wait.sh b/test/nvmf/target/bdev_io_wait.sh index d729471e2..1efa77a14 100755 --- a/test/nvmf/target/bdev_io_wait.sh +++ b/test/nvmf/target/bdev_io_wait.sh @@ -5,6 +5,8 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + MALLOC_BDEV_SIZE=64 MALLOC_BLOCK_SIZE=512 @@ -13,8 +15,6 @@ rpc_py="$rootdir/scripts/rpc.py" set -e timing_enter bdev_io_wait -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./bdev_io_wait.sh iso nvmftestinit nvmfappstart "-m 0xF --wait-for-rpc" diff --git a/test/nvmf/target/bdevio.sh b/test/nvmf/target/bdevio.sh index 71f58ded1..0454a9f2d 100755 --- a/test/nvmf/target/bdevio.sh +++ b/test/nvmf/target/bdevio.sh @@ -5,6 +5,8 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + MALLOC_BDEV_SIZE=64 MALLOC_BLOCK_SIZE=512 @@ -13,8 +15,6 @@ rpc_py="$rootdir/scripts/rpc.py" set -e timing_enter bdevio -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./bdev_io_wait.sh iso nvmftestinit nvmfappstart "-m 0xF" diff --git a/test/nvmf/target/connect_disconnect.sh b/test/nvmf/target/connect_disconnect.sh index fed21fd70..6f0cd133b 100755 --- a/test/nvmf/target/connect_disconnect.sh +++ b/test/nvmf/target/connect_disconnect.sh @@ -5,6 +5,8 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + MALLOC_BDEV_SIZE=64 MALLOC_BLOCK_SIZE=512 @@ -15,8 +17,6 @@ set -e # connect disconnect is geared towards ensuring that we are properly freeing resources after disconnecting qpairs. timing_enter connect_disconnect -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./filesystem.sh iso nvmftestinit nvmfappstart "-m 0xF" diff --git a/test/nvmf/target/create_transport.sh b/test/nvmf/target/create_transport.sh index 54f54b6b2..1c47d36d0 100755 --- a/test/nvmf/target/create_transport.sh +++ b/test/nvmf/target/create_transport.sh @@ -5,6 +5,8 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + NULL_BDEV_SIZE=102400 NULL_BLOCK_SIZE=512 @@ -18,8 +20,6 @@ if ! hash nvme; then fi timing_enter cr_trprt -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./crt_trprt.sh iso nvmftestinit nvmfappstart "-m 0xF" diff --git a/test/nvmf/target/discovery.sh b/test/nvmf/target/discovery.sh index 2102b32a5..52b3c0442 100755 --- a/test/nvmf/target/discovery.sh +++ b/test/nvmf/target/discovery.sh @@ -5,6 +5,8 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + NULL_BDEV_SIZE=102400 NULL_BLOCK_SIZE=512 @@ -18,8 +20,6 @@ if ! hash nvme; then fi timing_enter discovery -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./discovery.sh iso nvmftestinit nvmfappstart "-m 0xF" diff --git a/test/nvmf/target/filesystem.sh b/test/nvmf/target/filesystem.sh index 8730fafed..e0eb59ace 100755 --- a/test/nvmf/target/filesystem.sh +++ b/test/nvmf/target/filesystem.sh @@ -5,6 +5,8 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + MALLOC_BDEV_SIZE=64 MALLOC_BLOCK_SIZE=512 @@ -14,8 +16,6 @@ set -e timing_enter fs_test -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./filesystem.sh iso nvmftestinit for incapsule in 0 4096; do diff --git a/test/nvmf/target/fio.sh b/test/nvmf/target/fio.sh index 12219a8e1..fff49e27f 100755 --- a/test/nvmf/target/fio.sh +++ b/test/nvmf/target/fio.sh @@ -5,6 +5,8 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + MALLOC_BDEV_SIZE=64 MALLOC_BLOCK_SIZE=512 @@ -13,8 +15,6 @@ rpc_py="$rootdir/scripts/rpc.py" set -e timing_enter fio -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./fio.sh iso nvmftestinit nvmfappstart "-m 0xF" diff --git a/test/nvmf/target/multiconnection.sh b/test/nvmf/target/multiconnection.sh index 89dd85327..4bad57b9e 100755 --- a/test/nvmf/target/multiconnection.sh +++ b/test/nvmf/target/multiconnection.sh @@ -5,8 +5,11 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + MALLOC_BDEV_SIZE=64 MALLOC_BLOCK_SIZE=512 + NVMF_SUBSYS=11 rpc_py="$rootdir/scripts/rpc.py" @@ -14,8 +17,6 @@ rpc_py="$rootdir/scripts/rpc.py" set -e timing_enter multiconnection -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./multiconnection.sh iso nvmftestinit nvmfappstart "-m 0xF" diff --git a/test/nvmf/target/nmic.sh b/test/nvmf/target/nmic.sh index aa47b1294..f855da38b 100755 --- a/test/nvmf/target/nmic.sh +++ b/test/nvmf/target/nmic.sh @@ -5,6 +5,8 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + MALLOC_BDEV_SIZE=64 MALLOC_BLOCK_SIZE=512 @@ -13,8 +15,6 @@ rpc_py="$rootdir/scripts/rpc.py" set -e timing_enter nmic -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./nmic.sh iso nvmftestinit nvmfappstart "-m 0xF" diff --git a/test/nvmf/target/nvme_cli.sh b/test/nvmf/target/nvme_cli.sh index afd8db42e..b1c7d0780 100755 --- a/test/nvmf/target/nvme_cli.sh +++ b/test/nvmf/target/nvme_cli.sh @@ -5,6 +5,8 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + if [ -z "${DEPENDENCY_DIR}" ]; then echo DEPENDENCY_DIR not defined! exit 1 @@ -20,8 +22,6 @@ rpc_py="$rootdir/scripts/rpc.py" set -e timing_enter nvme_cli -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./nvme_cli.sh iso nvmftestinit nvmfappstart "-m 0xF" diff --git a/test/nvmf/target/nvmf_lvol.sh b/test/nvmf/target/nvmf_lvol.sh index 545155578..a083bf129 100755 --- a/test/nvmf/target/nvmf_lvol.sh +++ b/test/nvmf/target/nvmf_lvol.sh @@ -5,6 +5,8 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + MALLOC_BDEV_SIZE=64 MALLOC_BLOCK_SIZE=512 LVOL_BDEV_INIT_SIZE=20 @@ -15,8 +17,6 @@ rpc_py="$rootdir/scripts/rpc.py" set -e timing_enter lvol_integrity -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./nvmf_lvol.sh iso nvmftestinit nvmfappstart "-m 0x7" diff --git a/test/nvmf/target/rpc.sh b/test/nvmf/target/rpc.sh index dee6035af..d0b5dd223 100755 --- a/test/nvmf/target/rpc.sh +++ b/test/nvmf/target/rpc.sh @@ -5,13 +5,13 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + rpc_py="$rootdir/scripts/rpc.py" set -e timing_enter rpc -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./rpc.sh iso nvmftestinit nvmfappstart "-m 0xF" diff --git a/test/nvmf/target/shutdown.sh b/test/nvmf/target/shutdown.sh index 7267a6faa..8473a5a6c 100755 --- a/test/nvmf/target/shutdown.sh +++ b/test/nvmf/target/shutdown.sh @@ -5,6 +5,8 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + MALLOC_BDEV_SIZE=64 MALLOC_BLOCK_SIZE=512 @@ -37,8 +39,6 @@ function waitforio() { } timing_enter shutdown -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./shutdown.sh iso nvmftestinit nvmfappstart "-m 0xF" diff --git a/test/nvmf/target/srq_overwhelm.sh b/test/nvmf/target/srq_overwhelm.sh index a9ab92f96..5b323ee0a 100755 --- a/test/nvmf/target/srq_overwhelm.sh +++ b/test/nvmf/target/srq_overwhelm.sh @@ -5,6 +5,8 @@ rootdir=$(readlink -f $testdir/../../..) source $rootdir/test/common/autotest_common.sh source $rootdir/test/nvmf/common.sh +parse_common_script_args $@ + MALLOC_BDEV_SIZE=64 MALLOC_BLOCK_SIZE=512 @@ -13,8 +15,6 @@ rpc_py="$rootdir/scripts/rpc.py" set -e timing_enter srq_overwhelm -# pass the parameter 'iso' to this script when running it in isolation to trigger rdma device initialization. -# e.g. sudo ./fio.sh iso nvmftestinit if check_ip_is_soft_roce $NVMF_FIRST_TARGET_IP; then