3 testdir
=$
(readlink
-f $
(dirname $0))
4 rootdir
=$
(readlink
-f $testdir/..
/..
/..
)
5 source $rootdir/test
/common
/autotest_common.sh
6 source $rootdir/test
/nvmf
/common.sh
8 rpc_py
="$rootdir/scripts/rpc.py"
12 "${NVMF_APP[@]}" -m 0xF > $output_dir/nvmf_fuzz_tgt_output.txt
2>&1 &
15 trap 'process_shm --id $NVMF_APP_SHM_ID; rm -f $testdir/nvmf_fuzz.conf; killprocess $nvmfpid; nvmftestfini $1; exit 1' SIGINT SIGTERM EXIT
17 waitforlisten
$nvmfpid
18 $rpc_py nvmf_create_transport
$NVMF_TRANSPORT_OPTS -u 8192
20 $rpc_py bdev_malloc_create
-b Malloc0
64 512
22 $rpc_py nvmf_create_subsystem nqn
.2016-06.io.spdk
:cnode1
-a -s SPDK00000000000001
23 $rpc_py nvmf_subsystem_add_ns nqn
.2016-06.io.spdk
:cnode1 Malloc0
24 $rpc_py nvmf_subsystem_add_listener nqn
.2016-06.io.spdk
:cnode1
-t $TEST_TRANSPORT -a $NVMF_FIRST_TARGET_IP -s $NVMF_PORT
26 echo "[Nvme]" > $testdir/nvmf_fuzz.conf
27 echo " TransportID \"trtype:$TEST_TRANSPORT adrfam:IPv4 subnqn:nqn.2016-06.io.spdk:cnode1 traddr:$NVMF_FIRST_TARGET_IP trsvcid:$NVMF_PORT\" Nvme0" >> $testdir/nvmf_fuzz.conf
29 # Note that we chose a consistent seed to ensure that this test is consistent in nightly builds.
30 $rootdir/test
/app
/fuzz
/nvme_fuzz
/nvme_fuzz
-m 0xF0 -r "/var/tmp/nvme_fuzz" -t 30 -S 123456 -C $testdir/nvmf_fuzz.conf
-N -a 2> $output_dir/nvmf_fuzz_logs1.txt
31 # We don't specify a seed for this test. Instead we run a static list of commands from example.json.
32 $rootdir/test
/app
/fuzz
/nvme_fuzz
/nvme_fuzz
-m 0xF0 -r "/var/tmp/nvme_fuzz" -C $testdir/nvmf_fuzz.conf
-j $rootdir/test
/app
/fuzz
/nvme_fuzz
/example.json
-a 2> $output_dir/nvmf_fuzz_logs2.txt
34 rm -f $testdir/nvmf_fuzz.conf
35 $rpc_py nvmf_delete_subsystem nqn
.2016-06.io.spdk
:cnode1
37 trap - SIGINT SIGTERM EXIT