1#!/bin/ksh -p 2# 3# CDDL HEADER START 4# 5# The contents of this file are subject to the terms of the 6# Common Development and Distribution License (the "License"). 7# You may not use this file except in compliance with the License. 8# 9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10# or http://www.opensolaris.org/os/licensing. 11# See the License for the specific language governing permissions 12# and limitations under the License. 13# 14# When distributing Covered Code, include this CDDL HEADER in each 15# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16# If applicable, add the following below this CDDL HEADER, with the 17# fields enclosed by brackets "[]" replaced with your own identifying 18# information: Portions Copyright [yyyy] [name of copyright owner] 19# 20# CDDL HEADER END 21# 22 23# 24# Copyright (c) 2018 by Datto. All rights reserved. 25# 26 27. $STF_SUITE/include/libtest.shlib 28 29# 30# DESCRIPTION: 31# A badly formed parameter passed to 'zpool resilver' should 32# return an error. 33# 34# STRATEGY: 35# 1. Create an array containing bad 'zpool reilver' parameters. 36# 2. For each element, execute the sub-command. 37# 3. Verify it returns an error. 38# 4. Confirm the sub-command returns an error if the resilver_defer 39# feature isn't active. 40# 41 42verify_runnable "global" 43 44set -A args "" "-?" "blah blah" "-%" "--?" "-*" "-=" \ 45 "-a" "-b" "-c" "-d" "-e" "-f" "-g" "-h" "-i" "-j" "-k" "-l" \ 46 "-m" "-n" "-o" "-p" "-q" "-r" "-s" "-t" "-u" "-v" "-w" "-x" "-y" "-z" \ 47 "-A" "-B" "-C" "-D" "-E" "-F" "-G" "-H" "-I" "-J" "-K" "-L" \ 48 "-M" "-N" "-O" "-P" "-Q" "-R" "-S" "-T" "-U" "-V" "-W" "-X" "-W" "-Z" 49 50function cleanup 51{ 52 log_must destroy_pool $TESTPOOL2 53 log_must rm -f $TEST_BASE_DIR/zpool_resilver.dat 54} 55 56log_onexit cleanup 57 58log_assert "Execute 'zpool resilver' using invalid parameters." 59 60typeset -i i=0 61while [[ $i -lt ${#args[*]} ]]; do 62 log_mustnot zpool resilver ${args[i]} 63 64 ((i = i + 1)) 65done 66 67log_must mkfile $MINVDEVSIZE $TEST_BASE_DIR/zpool_resilver.dat 68log_must zpool create -d $TESTPOOL2 $TEST_BASE_DIR/zpool_resilver.dat 69log_mustnot zpool resilver $TESTPOOL2 70 71log_pass "Badly formed 'zpool resilver' parameters fail as expected." 72