]> git.proxmox.com Git - mirror_zfs.git/commitdiff
tests: validate getsubopt(3) expulsion
authorнаб <nabijaczleweli@nabijaczleweli.xyz>
Thu, 10 Mar 2022 19:14:28 +0000 (20:14 +0100)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 15 Mar 2022 22:14:50 +0000 (15:14 -0700)
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Closes #12996

tests/runfiles/common.run
tests/runfiles/sanity.run
tests/zfs-tests/tests/functional/cli_root/zfs_get/zfs_get_006_neg.ksh
tests/zfs-tests/tests/functional/cli_root/zfs_get/zfs_get_007_neg.ksh
tests/zfs-tests/tests/functional/cli_root/zfs_wait/Makefile.am
tests/zfs-tests/tests/functional/cli_root/zfs_wait/zfs_wait_getsubopt.ksh [new file with mode: 0755]
tests/zfs-tests/tests/functional/cli_root/zpool_get/zpool_get_004_neg.ksh
tests/zfs-tests/tests/functional/cli_root/zpool_wait/zpool_wait_usage.ksh
tests/zfs-tests/tests/functional/cli_user/zfs_list/Makefile.am
tests/zfs-tests/tests/functional/cli_user/zfs_list/zfs_list_005_neg.ksh [new file with mode: 0755]

index fdc2172b6a65710f2cce68fc158d26688f11ebeb..6bc4bb5832dfe759c82fd1ec37fd113e55415c76 100644 (file)
@@ -315,7 +315,7 @@ tests = ['zfs_upgrade_001_pos', 'zfs_upgrade_002_pos', 'zfs_upgrade_003_pos',
 tags = ['functional', 'cli_root', 'zfs_upgrade']
 
 [tests/functional/cli_root/zfs_wait]
-tests = ['zfs_wait_deleteq']
+tests = ['zfs_wait_deleteq', 'zfs_wait_getsubopt']
 tags = ['functional', 'cli_root', 'zfs_wait']
 
 [tests/functional/cli_root/zhack]
@@ -551,7 +551,8 @@ tags = ['functional', 'cli_user', 'misc']
 
 [tests/functional/cli_user/zfs_list]
 tests = ['zfs_list_001_pos', 'zfs_list_002_pos', 'zfs_list_003_pos',
-    'zfs_list_004_neg', 'zfs_list_007_pos', 'zfs_list_008_neg']
+    'zfs_list_004_neg', 'zfs_list_005_neg', 'zfs_list_007_pos',
+    'zfs_list_008_neg']
 user =
 tags = ['functional', 'cli_user', 'zfs_list']
 
index 383308bb59ff70dae62773c06c2b72b49bce9263..9faf0e4d991322f39b8570507e51e9d4115bb7aa 100644 (file)
@@ -236,7 +236,7 @@ tests = ['zfs_upgrade_001_pos', 'zfs_upgrade_002_pos', 'zfs_upgrade_006_neg',
 tags = ['functional', 'cli_root', 'zfs_upgrade']
 
 [tests/functional/cli_root/zfs_wait]
-tests = ['zfs_wait_deleteq']
+tests = ['zfs_wait_deleteq', 'zfs_wait_getsubopt']
 tags = ['functional', 'cli_root', 'zfs_wait']
 
 [tests/functional/cli_root/zpool]
index a916858490690275bc1001bc2f7743e186652c40..e19936ef88dc0946302ebc1371c5413d7a372408 100755 (executable)
@@ -47,7 +47,8 @@ log_assert "Verify 'zfs get all' fails with invalid combination scenarios."
 
 set -f # Force ksh ignore '?' and '*'
 set -A  bad_combine "ALL" "\-R all" "-P all" "-h all" "-rph all" "-RpH all" "-PrH all" \
-               "-o all" "-s all" "-? all" "-* all" "-?* all" "all -r" "all -p" \
+               "-o all" "-s all" "-s none=getsubopt" "-t filesystem=getsubopt" \
+               "-? all" "-* all" "-?* all" "all -r" "all -p" \
                "all -H" "all -rp" "all -rH" "all -ph" "all -rpH" "all -r $TESTPOOL" \
                "all -H $TESTPOOL" "all -p $TESTPOOL" "all -r -p -H $TESTPOOL" \
                "all -rph $TESTPOOL" "all,available,reservation $TESTPOOL" \
index 9bb00807f1b0f27b801255e3972977ddddd68a6f..63dfb6a50b5285f8ef0303d4089d8ceba4bdb9f9 100755 (executable)
@@ -51,7 +51,7 @@ set -A  badargs "o name,property,value,resource" "o name" \
        "-o" "-o ,,,,," "-o -o -o -o" "-o NAME,PROPERTY,VALUE,SOURCE" \
        "-o name,properTy,value,source" "-o name, property, value,source" \
        "-o name:property:value:source" "-o name,property:value,source" \
-       "-o name;property;value;source"
+       "-o name;property;value;source" "-o name=getsubopt"
 
 typeset -i i=0
 while (( i < ${#badargs[*]} ))
index d401fe68b1e8cec19bd37e262bfdbbeec3edd8b8..5d385d91572093d68a415c8ef8625941834b580b 100644 (file)
@@ -2,7 +2,8 @@ pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/cli_root/zfs_wait
 dist_pkgdata_SCRIPTS = \
        setup.ksh \
        cleanup.ksh \
-       zfs_wait_deleteq.ksh
+       zfs_wait_deleteq.ksh \
+       zfs_wait_getsubopt.ksh
 
 dist_pkgdata_DATA = \
        zfs_wait.kshlib
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_wait/zfs_wait_getsubopt.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_wait/zfs_wait_getsubopt.ksh
new file mode 100755 (executable)
index 0000000..d60aec9
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/ksh -p
+# SPDX-License-Identifier: 0BSD
+
+. $STF_SUITE/include/libtest.shlib
+
+#
+# DESCRIPTION:
+# zfs wait -t used to accept getsubopt(3)-style deleteq=whatever;
+# it doesn't anymore
+#
+
+log_mustnot zfs wait -t deleteq=getsubopt $TESTPOOL
+
+log_pass "'zfs wait -t' doesn't accept =getsubopt suffixes."
index 1edd2ba79af9df92474744ffc814362f5eb32c9e..bbdd32933c813786262bbb7368bb4810d63ff4ff 100755 (executable)
@@ -51,7 +51,8 @@ set -A arguments "$TESTPOOL $TESTPOOL" "$TESTPOOL rubbish" "-v $TESTPOOL" \
                "nosuchproperty $TESTPOOL" "--$TESTPOOL" "all all" \
                "type $TESTPOOL" "usage: $TESTPOOL" "bootfs $TESTPOOL@" \
                "bootfs,bootfs $TESTPOOL" "name $TESTPOOL" "t%d%s" \
-               "bootfs,delegation $TESTPOOL" "delegation $TESTPOOL@"
+               "bootfs,delegation $TESTPOOL" "delegation $TESTPOOL@" \
+               "-o name=getsubopt allocated $TESTPOOL"
 
 for arg in $arguments
 do
index 2d6f897092fee4700389305ce9b46ce4302f5651..05cbfce5741c28d6a671343128c8da9b755d40bb 100755 (executable)
@@ -43,5 +43,7 @@ zpool wait -t scrub fakepool 2>&1 | grep -i 'no such pool' || \
     log_fail "Error message did not contain phrase 'no such pool'."
 zpool wait -t foo $TESTPOOL 2>&1 | grep -i 'invalid activity' || \
     log_fail "Error message did not contain phrase 'invalid activity'."
+zpool wait -t scrub=getsubopt $TESTPOOL 2>&1 | grep -i 'invalid activity' || \
+    log_fail "getsubopt(3) error message did not contain phrase 'invalid activity'."
 
 log_pass "'zpool wait' behaves sensibly when invoked incorrectly."
index 8393072af22593425d59ee5e065ea9adc84553a1..81754f40159571c3c89baca5c6574e0668bea737 100644 (file)
@@ -6,6 +6,7 @@ dist_pkgdata_SCRIPTS = \
        zfs_list_002_pos.ksh \
        zfs_list_003_pos.ksh \
        zfs_list_004_neg.ksh \
+       zfs_list_005_neg.ksh \
        zfs_list_007_pos.ksh \
        zfs_list_008_neg.ksh
 
diff --git a/tests/zfs-tests/tests/functional/cli_user/zfs_list/zfs_list_005_neg.ksh b/tests/zfs-tests/tests/functional/cli_user/zfs_list/zfs_list_005_neg.ksh
new file mode 100755 (executable)
index 0000000..ae374a6
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/ksh -p
+# SPDX-License-Identifier: 0BSD
+
+. $STF_SUITE/include/libtest.shlib
+
+#
+# DESCRIPTION:
+# zfs list -t used to accept getsubopt(3)-style filesystem=whatever;
+# it doesn't anymore
+#
+
+log_mustnot zfs list -t filesystem=getsubopt
+
+log_pass "'zfs list -t' doesn't accept =getsubopt suffixes."