xref: /spdk/test/nvmf/nvmf.sh (revision 2e3182551259dc0ed2e140ee5201dca3c111c882)
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