From: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
To: linux-block@vger.kernel.org, linux-nvme@lists.infradead.org
Cc: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Subject: [PATCH 5/5 blktests] nvme: make new testcases backward compatible
Date: Wed, 29 Jan 2020 15:29:21 -0800 [thread overview]
Message-ID: <20200129232921.11771-6-chaitanya.kulkarni@wdc.com> (raw)
In-Reply-To: <20200129232921.11771-1-chaitanya.kulkarni@wdc.com>
This patch makes newly added testcases backward compatible with
right value setting into the SKIP_REASON variable.
Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
---
tests/nvme/033 | 60 +++++++++++++++++++++++++++-----------------------
tests/nvme/034 | 59 ++++++++++++++++++++++++++-----------------------
tests/nvme/rc | 27 +++++++++++++++++------
3 files changed, 83 insertions(+), 63 deletions(-)
diff --git a/tests/nvme/033 b/tests/nvme/033
index 97eba7f..db5ded3 100755
--- a/tests/nvme/033
+++ b/tests/nvme/033
@@ -9,49 +9,53 @@
DESCRIPTION="Test NVMeOF target cntlid[min|max] attributes"
QUICK=1
+PORT=""
+NVMEDEV=""
+LOOP_DEV=""
+FILE_PATH="$TMPDIR/img"
+SUBSYS_NAME="blktests-subsystem-1"
+
+_have_cid_min_max()
+{
+ local cid_min=14
+ local cid_max=15
+
+ _setup_nvmet
+ truncate -s 1G "${FILE_PATH}"
+ LOOP_DEV="$(losetup -f --show "${FILE_PATH}")"
+
+ # we can only know skip reason when we create a subsys
+ _create_nvmet_subsystem "${SUBSYS_NAME}" "${LOOP_DEV}" \
+ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" ${cid_min} ${cid_max}
+}
+
requires() {
_have_program nvme && _have_modules loop nvme-loop nvmet && \
- _have_configfs
+ _have_configfs && _have_cid_min_max
}
test() {
echo "Running ${TEST_NAME}"
- _setup_nvmet
-
- local port
- local nvmedev
- local loop_dev
- local cid_min=14
- local cid_max=15
- local file_path="$TMPDIR/img"
- local subsys_name="blktests-subsystem-1"
-
- truncate -s 1G "${file_path}"
-
- loop_dev="$(losetup -f --show "${file_path}")"
-
- _create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
- "91fdba0d-f87b-4c25-b80f-db7be1418b9e" ${cid_min} ${cid_max}
- port="$(_create_nvmet_port "loop")"
- _add_nvmet_subsys_to_port "${port}" "${subsys_name}"
+ PORT="$(_create_nvmet_port "loop")"
+ _add_nvmet_subsys_to_port "${PORT}" "${SUBSYS_NAME}"
- nvme connect -t loop -n "${subsys_name}"
+ nvme connect -t loop -n "${SUBSYS_NAME}"
udevadm settle
- nvmedev="$(_find_nvme_loop_dev)"
- nvme id-ctrl /dev/${nvmedev}n1 | grep cntlid | tr -s ' ' ' '
+ NVMEDEV="$(_find_nvme_loop_dev)"
+ nvme id-ctrl /dev/${NVMEDEV}n1 | grep cntlid | tr -s ' ' ' '
- nvme disconnect -n "${subsys_name}"
+ nvme disconnect -n "${SUBSYS_NAME}"
- _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}"
- _remove_nvmet_subsystem "${subsys_name}"
- _remove_nvmet_port "${port}"
+ _remove_nvmet_subsystem_from_port "${PORT}" "${SUBSYS_NAME}"
+ _remove_nvmet_subsystem "${SUBSYS_NAME}"
+ _remove_nvmet_port "${PORT}"
- losetup -d "${loop_dev}"
+ losetup -d "${LOOP_DEV}"
- rm "${file_path}"
+ rm "${FILE_PATH}"
echo "Test complete"
}
diff --git a/tests/nvme/034 b/tests/nvme/034
index 1a55ff9..39d833f 100755
--- a/tests/nvme/034
+++ b/tests/nvme/034
@@ -9,50 +9,53 @@
DESCRIPTION="Test NVMeOF target model attribute"
QUICK=1
+PORT=""
+NVMEDEV=""
+LOOP_DEV=""
+FILE_PATH="$TMPDIR/img"
+SUBSYS_NAME="blktests-subsystem-1"
+
+_have_model()
+{
+ local model="test~model"
+
+ _setup_nvmet
+ truncate -s 1G "${FILE_PATH}"
+ LOOP_DEV="$(losetup -f --show "${FILE_PATH}")"
+
+ # we can only know skip reason when we create a subsys
+ _create_nvmet_subsystem "${SUBSYS_NAME}" "${LOOP_DEV}" \
+ "91fdba0d-f87b-4c25-b80f-db7be1418b9e" 14 15 \
+ ${model}
+}
requires() {
_have_program nvme && _have_modules loop nvme-loop nvmet && \
- _have_configfs
+ _have_configfs && _have_model
}
test() {
echo "Running ${TEST_NAME}"
- _setup_nvmet
-
- local port
- local result
- local nvmedev
- local loop_dev
- local model="test~model"
- local file_path="$TMPDIR/img"
- local subsys_name="blktests-subsystem-1"
-
- truncate -s 1G "${file_path}"
-
- loop_dev="$(losetup -f --show "${file_path}")"
-
- _create_nvmet_subsystem "${subsys_name}" "${loop_dev}" \
- "91fdba0d-f87b-4c25-b80f-db7be1418b9e" 0 100 ${model}
- port="$(_create_nvmet_port "loop")"
- _add_nvmet_subsys_to_port "${port}" "${subsys_name}"
+ PORT="$(_create_nvmet_port "loop")"
+ _add_nvmet_subsys_to_port "${PORT}" "${SUBSYS_NAME}"
- nvme connect -t loop -n "${subsys_name}"
+ nvme connect -t loop -n "${SUBSYS_NAME}"
udevadm settle
- nvmedev="$(_find_nvme_loop_dev)"
- nvme list | grep ${nvmedev}n1 | grep -q test~model
+ NVMEDEV="$(_find_nvme_loop_dev)"
+ nvme list | grep ${NVMEDEV}n1 | grep -q test~model
result=$?
- nvme disconnect -n "${subsys_name}"
+ nvme disconnect -n "${SUBSYS_NAME}"
- _remove_nvmet_subsystem_from_port "${port}" "${subsys_name}"
- _remove_nvmet_subsystem "${subsys_name}"
- _remove_nvmet_port "${port}"
+ _remove_nvmet_subsystem_from_port "${PORT}" "${SUBSYS_NAME}"
+ _remove_nvmet_subsystem "${SUBSYS_NAME}"
+ _remove_nvmet_port "${PORT}"
- losetup -d "${loop_dev}"
+ losetup -d "${LOOP_DEV}"
- rm "${file_path}"
+ rm "${FILE_PATH}"
if [ ${result} -eq 0 ]; then
echo "Test complete"
diff --git a/tests/nvme/rc b/tests/nvme/rc
index 377c7f7..77bafd8 100644
--- a/tests/nvme/rc
+++ b/tests/nvme/rc
@@ -128,15 +128,28 @@ _create_nvmet_subsystem() {
mkdir -p "${cfs_path}"
echo 1 > "${cfs_path}/attr_allow_any_host"
- _create_nvmet_ns "${nvmet_subsystem}" "1" "${blkdev}" "${uuid}"
-
- if [ $# -eq 5 ] && [ -f ${cfs_path}/attr_cntlid_min ]; then
- echo ${cntlid_min} > ${cfs_path}/attr_cntlid_min
- echo ${cntlid_max} > ${cfs_path}/attr_cntlid_max
+ if [ $# -eq 5 ]; then
+ if [ -f ${cfs_path}/attr_cntlid_min ]; then
+ echo ${cntlid_min} > ${cfs_path}/attr_cntlid_min
+ echo ${cntlid_max} > ${cfs_path}/attr_cntlid_max
+ else
+ SKIP_REASON="attr_cntlid_[min|max] not found"
+ rmdir "${cfs_path}"
+ return 1
+ fi
fi
- if [ $# -eq 6 ] && [ -f ${cfs_path}/attr_model ]; then
- echo ${model} > ${cfs_path}/attr_model
+ if [ $# -eq 6 ]; then
+ if [ -f ${cfs_path}/attr_model ]; then
+ echo ${model} > ${cfs_path}/attr_model
+ else
+ SKIP_REASON="attr_cntlid_model not found"
+ rmdir "${cfs_path}"
+ return 1
+ fi
fi
+ _create_nvmet_ns "${nvmet_subsystem}" "1" "${blkdev}" "${uuid}"
+
+ return 0
}
_remove_nvmet_ns() {
--
2.22.1
next prev parent reply other threads:[~2020-01-29 23:29 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-29 23:29 [PATCH 0/5 blktest] nvme: add cntlid and model testcases Chaitanya Kulkarni
2020-01-29 23:29 ` [PATCH 1/5 blktests] nvme: allow target subsys set cntlid min/max Chaitanya Kulkarni
2020-02-11 21:50 ` Omar Sandoval
2020-01-29 23:29 ` [PATCH 2/5 blktests] nvme: test target cntlid min cntlid max Chaitanya Kulkarni
2020-02-11 21:58 ` Omar Sandoval
2020-01-29 23:29 ` [PATCH 3/5 blktests] nvme: allow target subsys set model Chaitanya Kulkarni
2020-02-11 22:00 ` Omar Sandoval
2020-02-14 0:58 ` Chaitanya Kulkarni
2020-02-14 1:11 ` Chaitanya Kulkarni
2020-01-29 23:29 ` [PATCH 4/5 blktests] nvme: test target model attribute Chaitanya Kulkarni
2020-02-11 22:04 ` Omar Sandoval
2020-01-29 23:29 ` Chaitanya Kulkarni [this message]
2020-02-11 22:06 ` [PATCH 5/5 blktests] nvme: make new testcases backward compatible Omar Sandoval
2020-02-11 22:18 ` Chaitanya Kulkarni
2020-02-03 22:48 ` [PATCH 0/5 blktest] nvme: add cntlid and model testcases Chaitanya Kulkarni
2020-02-11 16:46 ` Chaitanya Kulkarni
2020-02-11 22:07 ` Omar Sandoval
2020-02-11 22:17 ` Chaitanya Kulkarni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200129232921.11771-6-chaitanya.kulkarni@wdc.com \
--to=chaitanya.kulkarni@wdc.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).