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>

*** 22,32 **** # Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ! # Copyright (c) 2013 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/xattr/xattr_common.kshlib --- 22,32 ---- # Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ! # Copyright (c) 2013, 2016 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/xattr/xattr_common.kshlib
*** 44,81 **** # 4. Verify we're unable to alter the xattr on the first file # 5. Verify we're unable to list the xattrs on the second file # function cleanup { ! log_must $ZFS destroy $TESTPOOL/$TESTFS@snap ! log_must $RM $TESTDIR/myfile2.$$ ! log_must $RM $TESTDIR/myfile.$$ ! log_must $RM /tmp/output.$$ ! [[ -e /tmp/expected_output.$$ ]] && log_must $RM \ /tmp/expected_output.$$ } log_assert "create/write xattr on a snapshot fails" log_onexit cleanup # create a file, and an xattr on it ! log_must $TOUCH $TESTDIR/myfile.$$ create_xattr $TESTDIR/myfile.$$ passwd /etc/passwd # create another file that doesn't have an xattr ! log_must $TOUCH $TESTDIR/myfile2.$$ # snapshot the filesystem ! log_must $ZFS snapshot $TESTPOOL/$TESTFS@snap # we shouldn't be able to alter the first file's xattr ! log_mustnot eval " $RUNAT $TESTDIR/.zfs/snapshot/snap/myfile.$$ \ ! $CP /etc/passwd . >/tmp/output.$$ 2>&1" ! log_must $GREP -i Read-only /tmp/output.$$ ! log_must eval "$RUNAT $TESTDIR/.zfs/snapshot/snap/myfile2.$$ \ ! $LS >/tmp/output.$$ 2>&1" create_expected_output /tmp/expected_output.$$ SUNWattr_ro SUNWattr_rw ! log_must $DIFF /tmp/output.$$ /tmp/expected_output.$$ log_pass "create/write xattr on a snapshot fails" --- 44,81 ---- # 4. Verify we're unable to alter the xattr on the first file # 5. Verify we're unable to list the xattrs on the second file # function cleanup { ! log_must zfs destroy $TESTPOOL/$TESTFS@snap ! log_must rm $TESTDIR/myfile2.$$ ! log_must rm $TESTDIR/myfile.$$ ! log_must rm /tmp/output.$$ ! [[ -e /tmp/expected_output.$$ ]] && log_must rm \ /tmp/expected_output.$$ } log_assert "create/write xattr on a snapshot fails" log_onexit cleanup # create a file, and an xattr on it ! log_must touch $TESTDIR/myfile.$$ create_xattr $TESTDIR/myfile.$$ passwd /etc/passwd # create another file that doesn't have an xattr ! log_must touch $TESTDIR/myfile2.$$ # snapshot the filesystem ! log_must zfs snapshot $TESTPOOL/$TESTFS@snap # we shouldn't be able to alter the first file's xattr ! log_mustnot eval " runat $TESTDIR/.zfs/snapshot/snap/myfile.$$ \ ! cp /etc/passwd . >/tmp/output.$$ 2>&1" ! log_must grep -i Read-only /tmp/output.$$ ! log_must eval "runat $TESTDIR/.zfs/snapshot/snap/myfile2.$$ \ ! ls >/tmp/output.$$ 2>&1" create_expected_output /tmp/expected_output.$$ SUNWattr_ro SUNWattr_rw ! log_must diff /tmp/output.$$ /tmp/expected_output.$$ log_pass "create/write xattr on a snapshot fails"