diff options
| author | Matt Macy <mmacy@FreeBSD.org> | 2020-08-24 22:48:19 +0000 |
|---|---|---|
| committer | Matt Macy <mmacy@FreeBSD.org> | 2020-08-24 22:48:19 +0000 |
| commit | 3b0ce0e28db46d0403929aba45c682285e1ac217 (patch) | |
| tree | 91721e6e5518bd0d8113dee535898f2225443411 /tests/zfs-tests/include/zpool_script.shlib | |
Notes
Diffstat (limited to 'tests/zfs-tests/include/zpool_script.shlib')
| -rw-r--r-- | tests/zfs-tests/include/zpool_script.shlib | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/zfs-tests/include/zpool_script.shlib b/tests/zfs-tests/include/zpool_script.shlib new file mode 100644 index 000000000000..10bc0cc26128 --- /dev/null +++ b/tests/zfs-tests/include/zpool_script.shlib @@ -0,0 +1,49 @@ +# +# Common functions used by the zpool_status and zpool_iostat tests for running +# scripts with the -c option. +# +# Copyright (c) 2017 Lawrence Livermore National Security, LLC. +# + +. $STF_SUITE/include/libtest.shlib + +function test_zpool_script { + script="$1" + testpool="$2" + cmd="$3" + wholecmd="$cmd $script $testpool" + out="$($wholecmd)" + + # Default number of columns that get printed without -c + if echo "$cmd" | grep -q iostat ; then + # iostat + dcols=7 + else + + # status + dcols=5 + fi + + # Get the new column name that the script created + col="$(echo "$out" | \ + awk '/^pool +alloc +free +read +write +/ {print $8} \ + /NAME +STATE +READ +WRITE +CKSUM/ {print $6}')" + + if [ -z "$col" ] ; then + log_fail "'$wholecmd' created no new columns" + fi + + # Count the number of columns for each vdev. Each script should produce + # at least one new column value. Even if scripts return blank, zpool + # will convert the blank to a '-' to make things awk-able. Normal + # zpool iostat -v output is 7 columns, so if the script ran correctly + # we should see more than that. + if ! newcols=$(echo "$out" | \ + awk '/\/dev/{print NF-'$dcols'; if (NF <= '$dcols') {exit 1}}' | \ + head -n 1) ; \ + then + log_fail "'$wholecmd' didn't create a new column value" + else + log_note "'$wholecmd' passed ($newcols new columns)" + fi +} |
