Index: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_get/zfs_get_003_pos.ksh =================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_get/zfs_get_003_pos.ksh (revision 329651) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_get/zfs_get_003_pos.ksh (revision 329652) @@ -1,77 +1,77 @@ #!/usr/local/bin/ksh93 -p # # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "@(#)zfs_get_003_pos.ksh 1.3 09/01/13 SMI" # . $STF_SUITE/include/libtest.kshlib ################################################################################# # # __stc_assertion_start # # ID: zfs_get_003_pos # # DESCRIPTION: # 'zfs get' should get consistent report with different options. # # STRATEGY: # 1. Create pool and filesystem. -# 2. 'zfs mount -o remount,noatime .' +# 2. 'zfs mount -o update,noatime .' # 3. Verify the value of 'zfs get atime' and 'zfs get all | grep atime' # are identical. # # TESTABILITY: explicit # # TEST_AUTOMATION_LEVEL: automated # # CODING_STATUS: COMPLETED (2006-07-18) # # __stc_assertion_end # ################################################################################ verify_runnable "both" function cleanup { - log_must $ZFS mount -o remount,atime $TESTPOOL/$TESTFS + log_must $ZFS mount -o update,atime $TESTPOOL/$TESTFS } log_assert "'zfs get' should get consistent report with different option." log_onexit cleanup log_must $ZFS set atime=on $TESTPOOL/$TESTFS -log_must $ZFS mount -o remount,noatime $TESTPOOL/$TESTFS +log_must $ZFS mount -o update,noatime $TESTPOOL/$TESTFS value1=$($ZFS get -H atime $TESTPOOL/$TESTFS | $AWK '{print $3}') value2=$($ZFS get -H all $TESTPOOL/$TESTFS | $AWK '{print $2 " " $3}' | \ $GREP ^atime | $AWK '{print $2}') if [[ $value1 != $value2 ]]; then log_fail "value1($value1) != value2($value2)" fi log_pass "'zfs get' get consistent report with different option passed." Index: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_get/zfs_get_test.sh =================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_get/zfs_get_test.sh (revision 329651) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_get/zfs_get_test.sh (revision 329652) @@ -1,322 +1,321 @@ # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright 2012 Spectra Logic. All rights reserved. # Use is subject to license terms. # atf_test_case zfs_get_001_pos cleanup zfs_get_001_pos_head() { atf_set "descr" "Setting the valid options and properties 'zfs get' should returnthe correct property value." atf_set "require.progs" zfs } zfs_get_001_pos_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_get_001_pos.ksh || atf_fail "Testcase failed" } zfs_get_001_pos_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_get_002_pos cleanup zfs_get_002_pos_head() { atf_set "descr" "Setting the valid options and properties 'zfs get' return correctvalue. It should be successful." atf_set "require.progs" zfs } zfs_get_002_pos_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_get_002_pos.ksh || atf_fail "Testcase failed" } zfs_get_002_pos_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_get_003_pos cleanup zfs_get_003_pos_head() { atf_set "descr" "'zfs get' should get consistent report with different option." atf_set "require.progs" zfs } zfs_get_003_pos_body() { - atf_expect_fail "kern/221985 - zfs mount -o remount is broken" . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_get_003_pos.ksh || atf_fail "Testcase failed" } zfs_get_003_pos_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_get_004_pos cleanup zfs_get_004_pos_head() { atf_set "descr" "Verify the functions of 'zfs get all' work." atf_set "require.progs" zfs zpool } zfs_get_004_pos_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_get_004_pos.ksh || atf_fail "Testcase failed" } zfs_get_004_pos_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_get_005_neg cleanup zfs_get_005_neg_head() { atf_set "descr" "Setting the invalid option and properties, 'zfs get' should befailed." atf_set "require.progs" zfs } zfs_get_005_neg_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_get_005_neg.ksh || atf_fail "Testcase failed" } zfs_get_005_neg_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_get_006_neg cleanup zfs_get_006_neg_head() { atf_set "descr" "Verify 'zfs get all' fails with invalid combination scenarios." atf_set "require.progs" zfs } zfs_get_006_neg_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_get_006_neg.ksh || atf_fail "Testcase failed" } zfs_get_006_neg_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_get_007_neg cleanup zfs_get_007_neg_head() { atf_set "descr" "'zfs get -o' fails with invalid options or column names" atf_set "require.progs" zfs } zfs_get_007_neg_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_get_007_neg.ksh || atf_fail "Testcase failed" } zfs_get_007_neg_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_get_008_pos cleanup zfs_get_008_pos_head() { atf_set "descr" "Verify '-d ' can work with other options" atf_set "require.progs" zfs } zfs_get_008_pos_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_get_008_pos.ksh || atf_fail "Testcase failed" } zfs_get_008_pos_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_get_009_pos cleanup zfs_get_009_pos_head() { atf_set "descr" "'zfs get -d ' should get expected output." atf_set "require.progs" zfs atf_set "timeout" 1200 } zfs_get_009_pos_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_get_009_pos.ksh || atf_fail "Testcase failed" } zfs_get_009_pos_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_get_010_neg cleanup zfs_get_010_neg_head() { atf_set "descr" "A negative depth or a non numeric depth should fail in 'zfs get -d '" atf_set "require.progs" zfs } zfs_get_010_neg_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_get_010_neg.ksh || atf_fail "Testcase failed" } zfs_get_010_neg_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_get_list_d.kshlib . $(atf_get_srcdir)/zfs_get_common.kshlib . $(atf_get_srcdir)/zfs_get.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_init_test_cases() { atf_add_test_case zfs_get_001_pos atf_add_test_case zfs_get_002_pos atf_add_test_case zfs_get_003_pos atf_add_test_case zfs_get_004_pos atf_add_test_case zfs_get_005_neg atf_add_test_case zfs_get_006_neg atf_add_test_case zfs_get_007_neg atf_add_test_case zfs_get_008_pos atf_add_test_case zfs_get_009_pos atf_add_test_case zfs_get_010_neg } Index: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_007_pos.ksh =================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_007_pos.ksh (revision 329651) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_007_pos.ksh (revision 329652) @@ -1,158 +1,150 @@ #!/usr/local/bin/ksh93 -p # # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "@(#)zfs_mount_007_pos.ksh 1.3 07/07/31 SMI" # . $STF_SUITE/tests/cli_root/zfs_mount/zfs_mount.kshlib ################################################################################# # # __stc_assertion_start # # ID: zfs_mount_007_pos # # DESCRIPTION: # The following options can be set on a temporary basis using the -o option # without affecting the on-disk property. The original on-disk value will be # restored when the file system is unmounted and mounted. # # PROPERTY MOUNT OPTION # atime atime/noatime -# devices devices/nodevices # exec exec/noexec # readonly ro/rw # setuid setuid/nosetuid # # STRATEGY: # 1. Create filesystem and get origianl property value. # 2. Using 'zfs mount -o' to set filesystem property. # 3. Verify the property was set temporarily. # 4. Verify it will not affect the property that is stored on disk. # # TESTABILITY: explicit # # TEST_AUTOMATION_LEVEL: automated # # CODING_STATUS: COMPLETED (2006-08-02) # # __stc_assertion_end # ################################################################################ function cleanup { if ! ismounted $TESTPOOL/$TESTFS; then log_must $ZFS mount $TESTPOOL/$TESTFS fi } log_assert "Verify '-o' will set filesystem property temporarily, " \ "without affecting the property that is stored on disk." log_onexit cleanup -set -A properties "atime" "devices" "exec" "readonly" "setuid" +set -A properties "atime" "exec" "readonly" "setuid" # # Get the specified filesystem property reverse mount option. # # $1 filesystem # $2 property # function get_reverse_option { typeset fs=$1 typeset prop=$2 # Define property value: "reverse if value=on" "reverse if value=off" set -A values "noatime" "atime" \ - "nodevices" "devices" \ "noexec" "exec" \ "rw" "ro" \ "nosetuid" "setuid" typeset -i i=0 while (( i < ${#properties[@]} )); do if [[ $prop == ${properties[$i]} ]]; then break fi (( i += 1 )) done if (( i >= ${#properties[@]} )); then log_fail "Incorrect option: $prop" fi typeset val typeset -i ind=0 val=$(get_prop $prop $fs) || log_fail "get_prop $prop $fs" if [[ $val == "on" ]]; then (( ind = i * 2 )) else (( ind = i * 2 + 1 )) fi $ECHO ${values[$ind]} } fs=$TESTPOOL/$TESTFS cleanup for property in ${properties[@]}; do orig_val=$(get_prop $property $fs) (($? != 0)) && log_fail "get_prop $property $fs" # Set filesystem property temporarily reverse_opt=$(get_reverse_option $fs $property) - log_must $ZFS mount -o remount,$reverse_opt $fs + log_must $ZFS mount -o update,$reverse_opt $fs cur_val=$(get_prop $property $fs) (($? != 0)) && log_fail "get_prop $property $fs" - # In LZ, a user with all zone privileges can never with "devices" - if ! is_global_zone && [[ $property == devices ]] ; then - if [[ $cur_val != off || $orig_val != off ]]; then - log_fail "'devices' property shouldn't " \ - "be enabled in LZ" - fi - elif [[ $orig_val == $cur_val ]]; then - log_fail "zfs mount -o remount,$reverse_opt " \ + if [[ $orig_val == $cur_val ]]; then + log_fail "zfs mount -o update,$reverse_opt " \ "doesn't change property." fi # unmount & mount will revert property to the original value log_must $ZFS unmount $fs log_must $ZFS mount $fs cur_val=$(get_prop $property $fs) (($? != 0)) && log_fail "get_prop $property $fs" if [[ $orig_val != $cur_val ]]; then - log_fail "zfs mount -o remount,$reverse_opt " \ + log_fail "zfs mount -o update,$reverse_opt " \ "change the property that is stored on disks" fi done log_pass "Verify '-o' set filesystem property temporarily passed." Index: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_test.sh =================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_test.sh (revision 329651) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_test.sh (revision 329652) @@ -1,372 +1,372 @@ # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright 2012 Spectra Logic. All rights reserved. # Use is subject to license terms. # atf_test_case zfs_mount_001_pos cleanup zfs_mount_001_pos_head() { atf_set "descr" "Verify that '$ZFS $mountcmd ' succeeds as root." atf_set "require.progs" zfs } zfs_mount_001_pos_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg verify_disk_count "$DISKS" 1 if other_pools_exist; then atf_skip "Can't test unmount -a with existing pools" fi ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_mount_001_pos.ksh || atf_fail "Testcase failed" } zfs_mount_001_pos_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_mount_002_pos cleanup zfs_mount_002_pos_head() { atf_set "descr" "Verify that '$ZFS $mountcmd' with a filesystemwhose name is not in 'zfs list' will fail with return code 1." atf_set "require.progs" zfs } zfs_mount_002_pos_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_mount_002_pos.ksh || atf_fail "Testcase failed" } zfs_mount_002_pos_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_mount_003_pos cleanup zfs_mount_003_pos_head() { atf_set "descr" "Verify that '$ZFS $mountcmd' with a filesystemwhose mountpoint property is 'legacy' or 'none' \will fail with return code 1." atf_set "require.progs" zfs } zfs_mount_003_pos_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_mount_003_pos.ksh || atf_fail "Testcase failed" } zfs_mount_003_pos_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_mount_004_pos cleanup zfs_mount_004_pos_head() { atf_set "descr" "Verify that '$ZFS $mountcmd 'with a mounted filesystem will fail with return code 1." atf_set "require.progs" zfs } zfs_mount_004_pos_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_mount_004_pos.ksh || atf_fail "Testcase failed" } zfs_mount_004_pos_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_mount_005_pos cleanup zfs_mount_005_pos_head() { atf_set "descr" "Verify that '$ZFS $mountcmd' with a filesystemwhose mountpoint is currently in use will fail with return code 1." atf_set "require.progs" zfs } zfs_mount_005_pos_body() { [[ `uname -s` = "FreeBSD" ]] && atf_skip "Unlike Illumos, FreeBSD allows the behavior the prohibition of which is tested by this testcase" . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_mount_005_pos.ksh || atf_fail "Testcase failed" } zfs_mount_005_pos_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_mount_006_pos cleanup zfs_mount_006_pos_head() { atf_set "descr" "Verify that '$ZFS $mountcmd 'which mountpoint be the identical or the top of an existing one \will fail with return code 1." atf_set "require.progs" zfs } zfs_mount_006_pos_body() { [[ `uname -s` = "FreeBSD" ]] && atf_skip "Unlike Illumos, FreeBSD allows the behavior the prohibition of which is tested by this testcase" . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_mount_006_pos.ksh || atf_fail "Testcase failed" } zfs_mount_006_pos_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_mount_007_pos cleanup zfs_mount_007_pos_head() { atf_set "descr" "Verify '-o' will set filesystem property temporarily,without affecting the property that is stored on disk." atf_set "require.progs" zfs } zfs_mount_007_pos_body() { - atf_expect_fail "kern/221985 - zfs mount -o remount is broken" . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg verify_disk_count "$DISKS" 1 + atf_expect_fail "PR 115361 zfs get setuid doesn't reflect setuid state as set by zfs mount" ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_mount_007_pos.ksh || atf_fail "Testcase failed" } zfs_mount_007_pos_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_mount_008_pos cleanup zfs_mount_008_pos_head() { atf_set "descr" "Verify 'zfs mount -O' will override existing mount point." atf_set "require.progs" zfs } zfs_mount_008_pos_body() { [[ `uname -s` = "FreeBSD" ]] && \ atf_skip "Overlay mounts are not supported on FreeBSD" . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_mount_008_pos.ksh || atf_fail "Testcase failed" } zfs_mount_008_pos_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_mount_009_neg cleanup zfs_mount_009_neg_head() { atf_set "descr" "Badly-formed 'zfs $mountcmd' with inapplicable scenariosshould return an error." atf_set "require.progs" zfs } zfs_mount_009_neg_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg if other_pools_exist; then atf_skip "Can't test unmount -a with existing pools" fi verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_mount_009_neg.ksh || atf_fail "Testcase failed" } zfs_mount_009_neg_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_mount_010_neg cleanup zfs_mount_010_neg_head() { atf_set "descr" "zfs mount fails with mounted filesystem or busy mountpoint" atf_set "require.progs" zfs } zfs_mount_010_neg_body() { [[ `uname -s` = "FreeBSD" ]] && atf_skip "Unlike Illumos, FreeBSD allows the behavior the prohibition of which is tested by this testcase" . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_mount_010_neg.ksh || atf_fail "Testcase failed" } zfs_mount_010_neg_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_mount_011_neg cleanup zfs_mount_011_neg_head() { atf_set "descr" "zfs mount fails with bad parameters" atf_set "require.progs" zfs } zfs_mount_011_neg_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_mount_011_neg.ksh || atf_fail "Testcase failed" } zfs_mount_011_neg_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_test_case zfs_mount_all_001_pos cleanup zfs_mount_all_001_pos_head() { atf_set "descr" "Verify that 'zfs $mountall' succeeds as root,and all available ZFS filesystems are mounted." atf_set "require.progs" zfs } zfs_mount_all_001_pos_body() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg if other_pools_exist; then atf_skip "Can't test unmount -a with existing pools" fi verify_disk_count "$DISKS" 1 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" ksh93 $(atf_get_srcdir)/zfs_mount_all_001_pos.ksh || atf_fail "Testcase failed" } zfs_mount_all_001_pos_cleanup() { . $(atf_get_srcdir)/../../../include/default.cfg . $(atf_get_srcdir)/zfs_mount.kshlib . $(atf_get_srcdir)/zfs_mount.cfg ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" } atf_init_test_cases() { atf_add_test_case zfs_mount_001_pos atf_add_test_case zfs_mount_002_pos atf_add_test_case zfs_mount_003_pos atf_add_test_case zfs_mount_004_pos atf_add_test_case zfs_mount_005_pos atf_add_test_case zfs_mount_006_pos atf_add_test_case zfs_mount_007_pos atf_add_test_case zfs_mount_008_pos atf_add_test_case zfs_mount_009_neg atf_add_test_case zfs_mount_010_neg atf_add_test_case zfs_mount_011_neg atf_add_test_case zfs_mount_all_001_pos }