1*2fae26bdSAlan Somers#!/usr/local/bin/ksh93 -p 2*2fae26bdSAlan Somers# 3*2fae26bdSAlan Somers# CDDL HEADER START 4*2fae26bdSAlan Somers# 5*2fae26bdSAlan Somers# The contents of this file are subject to the terms of the 6*2fae26bdSAlan Somers# Common Development and Distribution License (the "License"). 7*2fae26bdSAlan Somers# You may not use this file except in compliance with the License. 8*2fae26bdSAlan Somers# 9*2fae26bdSAlan Somers# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10*2fae26bdSAlan Somers# or http://www.opensolaris.org/os/licensing. 11*2fae26bdSAlan Somers# See the License for the specific language governing permissions 12*2fae26bdSAlan Somers# and limitations under the License. 13*2fae26bdSAlan Somers# 14*2fae26bdSAlan Somers# When distributing Covered Code, include this CDDL HEADER in each 15*2fae26bdSAlan Somers# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16*2fae26bdSAlan Somers# If applicable, add the following below this CDDL HEADER, with the 17*2fae26bdSAlan Somers# fields enclosed by brackets "[]" replaced with your own identifying 18*2fae26bdSAlan Somers# information: Portions Copyright [yyyy] [name of copyright owner] 19*2fae26bdSAlan Somers# 20*2fae26bdSAlan Somers# CDDL HEADER END 21*2fae26bdSAlan Somers# 22*2fae26bdSAlan Somers 23*2fae26bdSAlan Somers# 24*2fae26bdSAlan Somers# Copyright 2008 Sun Microsystems, Inc. All rights reserved. 25*2fae26bdSAlan Somers# Use is subject to license terms. 26*2fae26bdSAlan Somers 27*2fae26bdSAlan Somers. $STF_SUITE/include/libtest.kshlib 28*2fae26bdSAlan Somers 29*2fae26bdSAlan Somers################################################################################# 30*2fae26bdSAlan Somers# 31*2fae26bdSAlan Somers# __stc_assertion_start 32*2fae26bdSAlan Somers# 33*2fae26bdSAlan Somers# ID: refquota_006_neg 34*2fae26bdSAlan Somers# 35*2fae26bdSAlan Somers# DESCRIPTION: 36*2fae26bdSAlan Somers# 'zfs set refquota/refreserv' can handle incorrect arguments correctly. 37*2fae26bdSAlan Somers# 38*2fae26bdSAlan Somers# STRATEGY: 39*2fae26bdSAlan Somers# 1. Setup incorrect arguments arrays. 40*2fae26bdSAlan Somers# 2. Set the bad argument to refquota. 41*2fae26bdSAlan Somers# 3. Verify zfs can handle it correctly. 42*2fae26bdSAlan Somers# 43*2fae26bdSAlan Somers# TESTABILITY: explicit 44*2fae26bdSAlan Somers# 45*2fae26bdSAlan Somers# TEST_AUTOMATION_LEVEL: automated 46*2fae26bdSAlan Somers# 47*2fae26bdSAlan Somers# CODING_STATUS: COMPLETED (2007-11-09) 48*2fae26bdSAlan Somers# 49*2fae26bdSAlan Somers# __stc_assertion_end 50*2fae26bdSAlan Somers# 51*2fae26bdSAlan Somers################################################################################ 52*2fae26bdSAlan Somers 53*2fae26bdSAlan Somersverify_runnable "both" 54*2fae26bdSAlan Somers 55*2fae26bdSAlan Somersfunction cleanup 56*2fae26bdSAlan Somers{ 57*2fae26bdSAlan Somers log_must $ZFS set refquota=none $TESTPOOL/$TESTFS 58*2fae26bdSAlan Somers log_must $ZFS set refreserv=none $TESTPOOL/$TESTFS 59*2fae26bdSAlan Somers} 60*2fae26bdSAlan Somers 61*2fae26bdSAlan Somerslog_assert "'zfs set refquota' can handle incorrect arguments correctly." 62*2fae26bdSAlan Somerslog_onexit cleanup 63*2fae26bdSAlan Somers 64*2fae26bdSAlan Somersset -A badopt \ 65*2fae26bdSAlan Somers "None" "-1" "1TT" "%5" \ 66*2fae26bdSAlan Somers "123!" "@456" "7#89" "0\$" \ 67*2fae26bdSAlan Somers "abc123%" "123%s" "12%s3" "%c123" \ 68*2fae26bdSAlan Somers "123%d" "%x123" "12%p3" "^def456" \ 69*2fae26bdSAlan Somers "x0" 70*2fae26bdSAlan Somers 71*2fae26bdSAlan Somerstypeset -i i=0 72*2fae26bdSAlan Somerswhile ((i < ${#badopt[@]})); do 73*2fae26bdSAlan Somers log_mustnot $ZFS set refquota=${badopt[$i]} $TESTPOOL/$TESTFS 74*2fae26bdSAlan Somers log_mustnot $ZFS set refreserv=${badopt[$i]} $TESTPOOL/$TESTFS 75*2fae26bdSAlan Somers 76*2fae26bdSAlan Somers ((i += 1)) 77*2fae26bdSAlan Somersdone 78*2fae26bdSAlan Somers 79*2fae26bdSAlan Somers# Try using a null as the opt value. We can't use log_mustnot, because 80*2fae26bdSAlan Somers# that echoes the character, which screws up ATF by creating a non-well formed 81*2fae26bdSAlan Somers# XML file 82*2fae26bdSAlan Somers$ZFS set refquota="\0" $TESTPOOL/$TESTFS > /dev/null 2>&1 83*2fae26bdSAlan Somers[[ $? != 0 ]] || log_fail "FAILURE: zfs set refquota=\\\\0 passed" 84*2fae26bdSAlan Somers$ZFS set refreserv="\0" $TESTPOOL/$TESTFS > /dev/null 2>&1 85*2fae26bdSAlan Somers[[ $? != 0 ]] || log_fail "FAILURE: zfs set refreserv=\\\\0 passed" 86*2fae26bdSAlan Somers 87*2fae26bdSAlan Somerslog_pass "'zfs set refquota' can handle incorrect arguments correctly." 88