]> www.infradead.org Git - users/sagi/blktests.git/commitdiff
nvme/rc: Parse optional arguments in _nvme_connect_subsys()
authorDaniel Wagner <dwagner@suse.de>
Wed, 29 Mar 2023 09:01:59 +0000 (11:01 +0200)
committerShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Wed, 12 Apr 2023 10:40:27 +0000 (19:40 +0900)
Extend the nvme_connect_subsys() function to parse optional arguments.
This avoids that all test have to pass in always all arguments.

Signed-off-by: Daniel Wagner <dwagner@suse.de>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
tests/nvme/041
tests/nvme/042
tests/nvme/043
tests/nvme/044
tests/nvme/045
tests/nvme/rc

index 8ffcf13a500af934749f4f3887c172bab00f6bba..03e2dab25918473dd263e25ac4d25081c879f2aa 100755 (executable)
@@ -55,14 +55,17 @@ test() {
        # Test unauthenticated connection (should fail)
        echo "Test unauthenticated connection (should fail)"
        _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" \
-                            "" "" "${hostnqn}" "${hostid}"
+                            --hostnqn "${hostnqn}" \
+                            --hostid "${hostid}"
 
        _nvme_disconnect_subsys "${subsys_name}"
 
        # Test authenticated connection
        echo "Test authenticated connection"
        _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" \
-                            "" "" "${hostnqn}" "${hostid}" "${hostkey}"
+                            --hostnqn "${hostnqn}" \
+                            --hostid "${hostid}" \
+                            --dhchap-secret "${hostkey}"
 
        udevadm settle
 
index d581bce4a9eee2aed9fc991b7a9fd5ac3042983d..4ad726f72f5a33e86e550ef035aeb19ac53e11ad 100755 (executable)
@@ -58,8 +58,9 @@ test() {
                _set_nvmet_hostkey "${hostnqn}" "${hostkey}"
 
                _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" \
-                                    "" "" "${hostnqn}" "${hostid}" \
-                                    "${hostkey}"
+                                    --hostnqn "${hostnqn}" \
+                                    --hostid "${hostid}" \
+                                    --dhchap-secret "${hostkey}"
                udevadm settle
 
                _nvme_disconnect_subsys "${subsys_name}"
@@ -75,8 +76,9 @@ test() {
                _set_nvmet_hostkey "${hostnqn}" "${hostkey}"
 
                _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" \
-                                    "" "" "${hostnqn}" "${hostid}" \
-                                    "${hostkey}"
+                                    --hostnqn "${hostnqn}" \
+                                    --hostid "${hostid}" \
+                                    --dhchap-secret "${hostkey}"
 
                udevadm settle
 
index c8ce292ba2e7f5b6f4a438b55beb083f5c2b9d14..c031cecf34a5c0c72ed9aa6ce012d91d9124ed9a 100755 (executable)
@@ -56,8 +56,9 @@ test() {
                _set_nvmet_hash "${hostnqn}" "${hash}"
 
                _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" \
-                                    "" "" "${hostnqn}" "${hostid}" \
-                                    "${hostkey}"
+                                    --hostnqn "${hostnqn}" \
+                                    --hostid "${hostid}" \
+                                    --dhchap-secret "${hostkey}"
 
                udevadm settle
 
@@ -71,8 +72,9 @@ test() {
                _set_nvmet_dhgroup "${hostnqn}" "${dhgroup}"
 
                _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" \
-                                    "" "" "${hostnqn}" "${hostid}" \
-                                    "${hostkey}"
+                                     --hostnqn "${hostnqn}" \
+                                     --hostid "${hostid}" \
+                                     --dhchap-secret "${hostkey}"
 
                udevadm settle
 
index c19a9c0267111f4b958132e7a75cbce3a99db0b5..f2406ecadf7d19a58f12f12b99ad3198d1813225 100755 (executable)
@@ -66,8 +66,9 @@ test() {
        # Step 1: Connect with host authentication only
        echo "Test host authentication"
        _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" \
-                            "" "" "${hostnqn}" "${hostid}" \
-                            "${hostkey}"
+                            --hostnqn "${hostnqn}" \
+                            --hostid "${hostid}" \
+                            --dhchap-secret "${hostkey}"
 
        udevadm settle
 
@@ -77,8 +78,10 @@ test() {
        # and invalid ctrl authentication
        echo "Test invalid ctrl authentication (should fail)"
        _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" \
-                            "" "" "${hostnqn}" "${hostid}" \
-                            "${hostkey}" "${hostkey}"
+                            --hostnqn "${hostnqn}" \
+                            --hostid "${hostid}" \
+                            --dhchap-secret "${hostkey}" \
+                            --dhchap-ctrl-secret "${hostkey}"
 
        udevadm settle
 
@@ -88,8 +91,10 @@ test() {
        # and valid ctrl authentication
        echo "Test valid ctrl authentication"
        _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" \
-                            "" "" "${hostnqn}" "${hostid}" \
-                            "${hostkey}" "${ctrlkey}"
+                            --hostnqn "${hostnqn}" \
+                            --hostid "${hostid}" \
+                            --dhchap-secret "${hostkey}" \
+                            --dhchap-ctrl-secret "${ctrlkey}"
 
        udevadm settle
 
@@ -100,8 +105,10 @@ test() {
        echo "Test invalid ctrl key (should fail)"
        invkey="DHHC-1:00:Jc/My1o0qtLCWRp+sHhAVafdfaS7YQOMYhk9zSmlatobqB8C:"
        _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" \
-                            "" "" "${hostnqn}" "${hostid}" \
-                            "${hostkey}" "${invkey}"
+                            --hostnqn "${hostnqn}" \
+                            --hostid "${hostid}" \
+                            --dhchap-secret "${hostkey}" \
+                            --dhchap-ctrl-secret "${invkey}"
 
        udevadm settle
 
index a0e6e93ed3c77b06240380a2cf8fa46802171eca..612e5f168e3cb59ca247aa50b89a93e448cf86dd 100755 (executable)
@@ -65,8 +65,10 @@ test() {
        _set_nvmet_dhgroup "${hostnqn}" "ffdhe2048"
 
        _nvme_connect_subsys "${nvme_trtype}" "${subsys_name}" \
-                            "" "" "${hostnqn}" "${hostid}" \
-                            "${hostkey}" "${ctrlkey}"
+                            --hostnqn "${hostnqn}" \
+                            --hostid "${hostid}" \
+                            --dhchap-secret "${hostkey}" \
+                            --dhchap-ctrl-secret "${ctrlkey}"
 
        udevadm settle
 
index 210a82aea384ddae2fca69e7c203d2899477f590..20c5e2fa32cbb0e35905d289b7984bf15869c6e9 100644 (file)
@@ -316,15 +316,58 @@ _nvme_disconnect_subsys() {
 }
 
 _nvme_connect_subsys() {
-       local trtype="$1"
-       local subsysnqn="$2"
-       local traddr="${3:-$def_traddr}"
-       local host_traddr="${4:-$def_host_traddr}"
-       local trsvcid="${4:-$def_trsvcid}"
-       local hostnqn="${5:-$def_hostnqn}"
-       local hostid="${6:-$def_hostid}"
-       local hostkey="${7}"
-       local ctrlkey="${8}"
+       local positional_args=()
+       local trtype=""
+       local subsysnqn=""
+       local traddr="$def_traddr"
+       local host_traddr="$def_host_traddr"
+       local trsvcid="$def_trsvcid"
+       local hostnqn="$def_hostnqn"
+       local hostid="$def_hostid"
+       local hostkey=""
+       local ctrlkey=""
+
+       while [[ $# -gt 0 ]]; do
+               case $1 in
+                       -a|--traddr)
+                               traddr="$2"
+                               shift 2
+                               ;;
+                       -w|--host-traddr)
+                               host_traddr="$2"
+                               shift 2
+                               ;;
+                       -s|--trsvcid)
+                               trsvcid="$2"
+                               shift 2
+                               ;;
+                       -n|--hostnqn)
+                               hostnqn="$2"
+                               shift 2
+                               ;;
+                       -I|--hostid)
+                               hostid="$2"
+                               shift 2
+                               ;;
+                       -S|--dhchap-secret)
+                               hostkey="$2"
+                               shift 2
+                               ;;
+                       -C|--dhchap-ctrl-secret)
+                               ctrlkey="$2"
+                               shift 2
+                               ;;
+                       *)
+                               positional_args+=("$1")
+                               shift
+                               ;;
+               esac
+       done
+
+       set -- "${positional_args[@]}"
+
+       trtype="$1"
+       subsysnqn="$2"
 
        ARGS=(-t "${trtype}" -n "${subsysnqn}")
        if [[ "${trtype}" == "fc" ]] ; then