Print this page
7290 ZFS test suite needs to control what utilities it can run
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>

@@ -23,11 +23,11 @@
 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
 # Use is subject to license terms.
 #
 
 #
-# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
 #
 
 . $STF_SUITE/include/libtest.shlib
 . $STF_SUITE/tests/functional/redundancy/redundancy.cfg
 

@@ -37,11 +37,11 @@
                 destroy_pool $TESTPOOL
         fi
         typeset dir
         for dir in $TESTDIR $BASEDIR; do
                 if [[ -d $dir ]]; then
-                        log_must $RM -rf $dir
+                        log_must rm -rf $dir
                 fi
         done
 }
 
 #

@@ -61,11 +61,11 @@
                 if ((value >= min)); then
                         break
                 fi
         done
 
-        $ECHO $value
+        echo $value
 }
 
 #
 # Record the directories construction and checksum all the files which reside
 # within the specified pool

@@ -77,20 +77,20 @@
 {
         typeset pool=$1
         typeset recordfile=$2
 
         [[ -z $pool ]] && log_fail "No specified pool."
-        [[ -f $recordfile ]] && log_must $RM -f $recordfile
+        [[ -f $recordfile ]] && log_must rm -f $recordfile
 
         typeset mntpnt
         mntpnt=$(get_prop mountpoint $pool)
-        log_must eval "$DU -a $mntpnt > $recordfile 2>&1"
+        log_must eval "du -a $mntpnt > $recordfile 2>&1"
         #
         # When the data was damaged, checksum is failing and return 1
         # So, will not use log_must
         #
-        $FIND $mntpnt -type f -exec $CKSUM {} + >> $recordfile 2>&1
+        find $mntpnt -type f -exec cksum {} + >> $recordfile 2>&1
 }
 
 #
 # Create test pool and fill with files and directories.
 #

@@ -110,33 +110,33 @@
                 vdevs="$vdevs $BASEDIR/vdev$i"
                 ((i += 1))
         done
 
         if [[ ! -d $BASEDIR ]]; then
-                log_must $MKDIR $BASEDIR
+                log_must mkdir $BASEDIR
         fi
 
         if poolexists $pool ; then
                 destroy_pool $pool
         fi
 
-        log_must $MKFILE $MINVDEVSIZE $vdevs
+        log_must mkfile $MINVDEVSIZE $vdevs
 
-        log_must $ZPOOL create -m $TESTDIR $pool $keyword $vdevs
+        log_must zpool create -m $TESTDIR $pool $keyword $vdevs
 
         log_note "Filling up the filesystem ..."
         typeset -i ret=0
         typeset -i i=0
         typeset file=$TESTDIR/file
-        while $TRUE ; do
-                $FILE_WRITE -o create -f $file.$i \
+        while true ; do
+                file_write -o create -f $file.$i \
                         -b $BLOCKSZ -c $NUM_WRITES
                 ret=$?
                 (( $ret != 0 )) && break
                 (( i = i + 1 ))
         done
-        (($ret != 28 )) && log_note "$FILE_WRITE return value($ret) is unexpected."
+        (($ret != 28 )) && log_note "file_write return value($ret) is unexpected."
 
         record_data $TESTPOOL $PRE_RECORD_FILE
 }
 
 #

@@ -147,25 +147,25 @@
 function is_healthy
 {
         typeset pool=$1
 
         typeset healthy_output="pool '$pool' is healthy"
-        typeset real_output=$($ZPOOL status -x $pool)
+        typeset real_output=$(zpool status -x $pool)
 
         if [[ "$real_output" == "$healthy_output" ]]; then
                 return 0
         else
                 typeset -i ret
-                $ZPOOL status -x $pool | $GREP "state:" | \
-                        $GREP "FAULTED" >/dev/null 2>&1
+                zpool status -x $pool | grep "state:" | \
+                        grep "FAULTED" >/dev/null 2>&1
                 ret=$?
                 (( $ret == 0 )) && return 1
                 typeset l_scan
                 typeset errnum
-                l_scan=$($ZPOOL status -x $pool | $GREP "scan:")
+                l_scan=$(zpool status -x $pool | grep "scan:")
                 l_scan=${l_scan##*"with"}
-                errnum=$($ECHO $l_scan | $AWK '{print $1}')
+                errnum=$(echo $l_scan | awk '{print $1}')
 
                 return $errnum
         fi
 }
 

@@ -177,11 +177,11 @@
 function is_data_valid
 {
         typeset pool=$1
 
         record_data $pool $PST_RECORD_FILE
-        if ! $DIFF $PRE_RECORD_FILE $PST_RECORD_FILE > /dev/null 2>&1; then
+        if ! diff $PRE_RECORD_FILE $PST_RECORD_FILE > /dev/null 2>&1; then
                 return 1
         fi
 
         return 0
 }

@@ -195,24 +195,24 @@
 function get_vdevs #pool cnt
 {
         typeset pool=$1
         typeset -i cnt=$2
 
-        typeset all_devs=$($ZPOOL iostat -v $pool | $AWK '{print $1}'| \
-                $EGREP -v "^pool$|^capacity$|^mirror$|^raidz1$|^raidz2$|---" | \
-                $EGREP -v "/old$|^$pool$")
+        typeset all_devs=$(zpool iostat -v $pool | awk '{print $1}'| \
+                egrep -v "^pool$|^capacity$|^mirror$|^raidz1$|^raidz2$|---" | \
+                egrep -v "/old$|^$pool$")
         typeset -i i=0
         typeset vdevs
         while ((i < cnt)); do
-                typeset dev=$($ECHO $all_devs | $AWK '{print $1}')
+                typeset dev=$(echo $all_devs | awk '{print $1}')
                 eval all_devs=\${all_devs##*$dev}
 
                 vdevs="$dev $vdevs"
                 ((i += 1))
         done
 
-        $ECHO "$vdevs"
+        echo "$vdevs"
 }
 
 #
 # Synchronize all the data in pool
 #

@@ -220,24 +220,24 @@
 #
 function sync_pool #pool
 {
         typeset pool=$1
 
-        log_must $SYNC
-        log_must $SLEEP 2
+        log_must sync
+        log_must sleep 2
         # Flush all the pool data.
         typeset -i ret
-        $ZPOOL scrub $pool >/dev/null 2>&1
+        zpool scrub $pool >/dev/null 2>&1
         ret=$?
         (( $ret != 0 )) && \
-                log_fail "$ZPOOL scrub $pool failed."
+                log_fail "zpool scrub $pool failed."
 
         while ! is_pool_scrubbed $pool; do
                 if is_pool_resilvered $pool ; then
                         log_fail "$pool should not be resilver completed."
                 fi
-                log_must $SLEEP 2
+                log_must sleep 2
         done
 }
 
 #
 # Create and replace the same name virtual device files

@@ -250,15 +250,15 @@
         typeset pool=$1
         shift
 
         typeset vdev
         for vdev in $@; do
-                log_must $MKFILE $MINVDEVSIZE $vdev
-                log_must $ZPOOL replace -f $pool $vdev $vdev
+                log_must mkfile $MINVDEVSIZE $vdev
+                log_must zpool replace -f $pool $vdev $vdev
                 while true; do
                         if ! is_pool_resilvered $pool ; then
-                                log_must $SLEEP 2
+                                log_must sleep 2
                         else
                                 break
                         fi
                 done
         done

@@ -282,16 +282,16 @@
 
         vdevs=$(get_vdevs $pool $cnt)
         typeset dev
         if [[ -n $label ]]; then
                 for dev in $vdevs; do
-                        $DD if=/dev/zero of=$dev seek=512 bs=1024 \
+                        dd if=/dev/zero of=$dev seek=512 bs=1024 \
                             count=$bs_count conv=notrunc >/dev/null 2>&1
                 done
         else
                 for dev in $vdevs; do
-                        $DD if=/dev/zero of=$dev bs=1024 count=$bs_count \
+                        dd if=/dev/zero of=$dev bs=1024 count=$bs_count \
                             conv=notrunc >/dev/null 2>&1
                 done
         fi
 
         sync_pool $pool

@@ -304,11 +304,11 @@
 #
 function clear_errors
 {
         typeset pool=$1
 
-        log_must $ZPOOL clear $pool
+        log_must zpool clear $pool
 
         if ! is_healthy $pool ; then
                 log_note "$pool should be healthy."
                 return 1
         fi

@@ -331,11 +331,11 @@
         typeset pool=$1
         typeset -i cnt=$2
         typeset vdevs
 
         vdevs=$(get_vdevs $pool $cnt)
-        log_must $RM -f $vdevs
+        log_must rm -f $vdevs
 
         sync_pool $pool
 }
 
 #