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>


   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 2007 Sun Microsystems, Inc.  All rights reserved.
  25 # Use is subject to license terms.
  26 #
  27 




  28 . $STF_SUITE/tests/functional/truncate/truncate.cfg
  29 . $STF_SUITE/include/libtest.shlib
  30 
  31 #
  32 # DESCRIPTION:
  33 # Tests file truncation within ZFS while a sync operation is in progress.
  34 #
  35 # STRATEGY:
  36 # 1. Copy a file to ZFS filesystem
  37 # 2. Copy /dev/null to same file on ZFS filesystem
  38 # 3. Execute a sync command
  39 #
  40 
  41 verify_runnable "both"
  42 
  43 function cleanup
  44 {
  45         [[ -e $TESTDIR ]] && log_must $RM -rf $TESTDIR/*
  46         [[ -f $srcfile ]] && $RM -f $srcfile
  47 }
  48 
  49 log_assert "Ensure zeroed file gets written correctly during a sync operation"
  50 
  51 srcfile="/tmp/cosmo.$$"
  52 log_must $DD if=/dev/urandom of=$srcfile bs=1024k count=1
  53 
  54 log_onexit cleanup
  55 log_must $CP $srcfile $TESTDIR/$TESTFILE
  56 log_must $CP /dev/null $TESTDIR/$TESTFILE
  57 log_must $SYNC
  58 if [[ -s $TESTDIR/$TESTFILE ]]; then
  59         log_note "$($LS -l $TESTDIR/$TESTFILE)"
  60         log_fail "testfile not truncated"
  61 fi
  62 
  63 log_pass "Successful truncation while a sync operation is in progress."


   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 2007 Sun Microsystems, Inc.  All rights reserved.
  25 # Use is subject to license terms.
  26 #
  27 
  28 #
  29 # Copyright (c) 2016 by Delphix. All rights reserved.
  30 #
  31 
  32 . $STF_SUITE/tests/functional/truncate/truncate.cfg
  33 . $STF_SUITE/include/libtest.shlib
  34 
  35 #
  36 # DESCRIPTION:
  37 # Tests file truncation within ZFS while a sync operation is in progress.
  38 #
  39 # STRATEGY:
  40 # 1. Copy a file to ZFS filesystem
  41 # 2. Copy /dev/null to same file on ZFS filesystem
  42 # 3. Execute a sync command
  43 #
  44 
  45 verify_runnable "both"
  46 
  47 function cleanup
  48 {
  49         [[ -e $TESTDIR ]] && log_must rm -rf $TESTDIR/*
  50         [[ -f $srcfile ]] && rm -f $srcfile
  51 }
  52 
  53 log_assert "Ensure zeroed file gets written correctly during a sync operation"
  54 
  55 srcfile="/tmp/cosmo.$$"
  56 log_must dd if=/dev/urandom of=$srcfile bs=1024k count=1
  57 
  58 log_onexit cleanup
  59 log_must cp $srcfile $TESTDIR/$TESTFILE
  60 log_must cp /dev/null $TESTDIR/$TESTFILE
  61 log_must sync
  62 if [[ -s $TESTDIR/$TESTFILE ]]; then
  63         log_note "$(ls -l $TESTDIR/$TESTFILE)"
  64         log_fail "testfile not truncated"
  65 fi
  66 
  67 log_pass "Successful truncation while a sync operation is in progress."