test/cuse: replace sleep with waitforfile

We can do better than "sleep 5". Instead use waitforfile(),
that will wait until the namespace is available.

Moved around the variables with names and checks for the ctrlr/ns
existence after all the tests complete.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I8326c2cec0d0cf5aec88b5f80c1126c81eb09436
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2951
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
Tomasz Zawadzki 2020-06-18 12:43:43 -04:00
parent 549b9f31c6
commit 102f6256b8

View File

@ -62,23 +62,19 @@ waitforlisten $spdk_tgt_pid
$rpc_py bdev_nvme_attach_controller -b Nvme0 -t PCIe -a ${bdf}
$rpc_py bdev_nvme_cuse_register -n Nvme0
sleep 5
if [ ! -c /dev/spdk/nvme0 ]; then
return 1
fi
ctrlr="/dev/spdk/nvme0"
ns="${ctrlr}n1"
waitforfile "$ns"
$rpc_py bdev_get_bdevs
$rpc_py bdev_nvme_get_controllers
set +e
ns="/dev/spdk/nvme0n1"
${NVME_CMD} get-ns-id $ns > ${CUSE_OUT}.1
${NVME_CMD} id-ns $ns > ${CUSE_OUT}.2
${NVME_CMD} list-ns $ns > ${CUSE_OUT}.3
ctrlr="/dev/spdk/nvme0"
${NVME_CMD} id-ctrl $ctrlr > ${CUSE_OUT}.4
${NVME_CMD} list-ctrl $ctrlr > ${CUSE_OUT}.5
if [ "$oacs_firmware" -ne "0" ]; then
@ -101,14 +97,13 @@ done
rm -Rf $testdir/match_files
if [ ! -c "$ctrlr" ]; then
return 1
fi
# Verify admin cmd when no data is transferred,
# by creating and deleting completion queue.
${NVME_CMD} admin-passthru $ctrlr -o 5 --cdw10=0x3ff0003 --cdw11=0x1 -r
${NVME_CMD} admin-passthru $ctrlr -o 4 --cdw10=0x3
[[ -c "$ctrlr" ]]
[[ -c "$ns" ]]
trap - SIGINT SIGTERM EXIT
killprocess $spdk_tgt_pid