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