1#!/usr/bin/env bash 2testdir=$(readlink -f $(dirname $0)) 3rootdir=$(readlink -f $testdir/../..) 4source $rootdir/test/common/autotest_common.sh 5 6if [ ! $(uname -s) = Linux ]; then 7 exit 0 8fi 9 10source $rootdir/test/nvmf/common.sh 11 12trap "exit 1" SIGINT SIGTERM EXIT 13 14TEST_ARGS=("$@") 15 16run_test "nvmf_example" test/nvmf/target/nvmf_example.sh "${TEST_ARGS[@]}" 17run_test "nvmf_filesystem" test/nvmf/target/filesystem.sh "${TEST_ARGS[@]}" 18run_test "nvmf_discovery" test/nvmf/target/discovery.sh "${TEST_ARGS[@]}" 19run_test "nvmf_connect_disconnect" test/nvmf/target/connect_disconnect.sh "${TEST_ARGS[@]}" 20if [ $SPDK_TEST_NVME_CLI -eq 1 ]; then 21 run_test "nvmf_nvme_cli" test/nvmf/target/nvme_cli.sh "${TEST_ARGS[@]}" 22fi 23run_test "nvmf_lvol" test/nvmf/target/nvmf_lvol.sh "${TEST_ARGS[@]}" 24run_test "nvmf_vhost" test/nvmf/target/nvmf_vhost.sh "${TEST_ARGS[@]}" 25run_test "nvmf_bdev_io_wait" test/nvmf/target/bdev_io_wait.sh "${TEST_ARGS[@]}" 26run_test "nvmf_create_transport." test/nvmf/target/create_transport.sh "${TEST_ARGS[@]}" 27run_test "nvmf_multitarget" test/nvmf/target/multitarget.sh "${TEST_ARGS[@]}" 28 29if [ $RUN_NIGHTLY -eq 1 ]; then 30 run_test "nvmf_fuzz" test/nvmf/target/fuzz.sh "${TEST_ARGS[@]}" 31 run_test "nvmf_multiconnection" test/nvmf/target/multiconnection.sh "${TEST_ARGS[@]}" 32 run_test "nvmf_initiator_timeout" test/nvmf/target/initiator_timeout.sh "${TEST_ARGS[@]}" 33fi 34 35run_test "nvmf_nmic" test/nvmf/target/nmic.sh "${TEST_ARGS[@]}" 36run_test "nvmf_rpc" test/nvmf/target/rpc.sh "${TEST_ARGS[@]}" 37run_test "nvmf_fio" test/nvmf/target/fio.sh "${TEST_ARGS[@]}" 38run_test "nvmf_bdevio" test/nvmf/target/bdevio.sh "${TEST_ARGS[@]}" 39run_test "nvmf_invalid" test/nvmf/target/invalid.sh "${TEST_ARGS[@]}" 40run_test "nvmf_abort" test/nvmf/target/abort.sh "${TEST_ARGS[@]}" 41 42if ! check_ip_is_soft_roce $NVMF_FIRST_TARGET_IP; then 43 # Soft-RoCE will return invalid values in the WC field after a qp has been 44 # destroyed which lead to NULL pointer references not seen in real hardware. 45 run_test "nvmf_shutdown" test/nvmf/target/shutdown.sh "${TEST_ARGS[@]}" 46 #TODO: disabled due to intermittent failures. Need to triage. 47 # run_test "nvmf_srq_overwhelm" test/nvmf/target/srq_overwhelm.sh $TEST_ARGS 48fi 49 50timing_enter host 51 52run_test "nvmf_identify" test/nvmf/host/identify.sh "${TEST_ARGS[@]}" 53run_test "nvmf_perf" test/nvmf/host/perf.sh "${TEST_ARGS[@]}" 54run_test "nvmf_multipath" test/nvmf/host/multipath.sh "${TEST_ARGS[@]}" 55run_test "nvmf_multicontroller" test/nvmf/host/multicontroller.sh "${TEST_ARGS[@]}" 56 57# TODO: disabled due to intermittent failures (RDMA_CM_EVENT_UNREACHABLE/ETIMEDOUT) 58#run_test test/nvmf/host/identify_kernel_nvmf.sh $TEST_ARGS 59run_test "nvmf_aer" test/nvmf/host/aer.sh "${TEST_ARGS[@]}" 60run_test "nvmf_fio" test/nvmf/host/fio.sh "${TEST_ARGS[@]}" 61 62# There is an intermittent error relating to those tests and Soft-RoCE. 63# Skip those tests if we are using rxe. 64if ! check_ip_is_soft_roce $NVMF_FIRST_TARGET_IP; then 65 # GitHub issue #1165 66 run_test "nvmf_bdevperf" test/nvmf/host/bdevperf.sh "${TEST_ARGS[@]}" 67 # GitHub issue #1043 68 run_test "nvmf_target_disconnect" test/nvmf/host/target_disconnect.sh "${TEST_ARGS[@]}" 69fi 70 71timing_exit host 72 73trap - SIGINT SIGTERM EXIT 74revert_soft_roce 75