zfs_unshare_004_neg.ksh revision 1d32ba663e202c24a5a1f2e5aef83fffb447cb7f
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#!/bin/ksh -p
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# CDDL HEADER START
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# The contents of this file are subject to the terms of the
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Common Development and Distribution License (the "License").
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# You may not use this file except in compliance with the License.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# or http://www.opensolaris.org/os/licensing.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# See the License for the specific language governing permissions
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# and limitations under the License.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# When distributing Covered Code, include this CDDL HEADER in each
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# If applicable, add the following below this CDDL HEADER, with the
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# fields enclosed by brackets "[]" replaced with your own identifying
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# information: Portions Copyright [yyyy] [name of copyright owner]
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# CDDL HEADER END
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Use is subject to license terms.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo. $STF_SUITE/include/libtest.shlib
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# DESCRIPTION:
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# Verify that "zfs unshare" issue error message with badly formed parameter.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# STRATEGY:
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# 1. Define badly formed parameters
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# 2. Invoke 'zfs unshare'
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo# 3. Verify that unshare fails and issue error message.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoverify_runnable "global"
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoexport NONEXISTFSNAME="nonexistfs50charslong_0123456789012345678901234567"
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoexport NONEXISTMOUNTPOINT="/nonexistmountpoint_0123456789"
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fhepposet -A opts "" "$TESTPOOL/$NONEXISTFSNAME" "$NONEEXISTMOUNTPOINT" "-?" "-1" \
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo "-a blah" "$TESTPOOL/$TESTFS $TESTPOOL/$TESTFS1" \
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo "-f $TESTPOOL/$TESTFS $TESTPOOL/$TESTFS1" \
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo "$TESTPOOL/$TESTFS $TESTDIR" "-f $TESTPOOL/$TESTFS $TESTDIR" \
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo "${TESTDIR#/}" "-f ${TESTDIR#/}"
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppolog_assert "Verify that 'zfs unshare' issue error message with badly formed parameter."
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fhepposhareval=$(get_prop sharenfs $TESTPOOL/$TESTFS)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppoif [[ $shareval == off ]]; then
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo log_must zfs set sharenfs=on $TESTPOOL/$TESTFS
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppofi
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppotypeset -i i=0
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppowhile [[ $i -lt ${#args[*]} ]]; do
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo log_mustnot zfs unshare ${args[i]}
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo ((i = i + 1))
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppodone
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#Testing that unsharing unshared filesystem fails.
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppompt=$(get_prop mountpoint $TESTPOOL/$TESTFS)
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppolog_must zfs unshare $TESTPOOL/$TESTFS
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppofor opt in "" "-f"; do
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo log_mustnot eval "zfs unshare $opt $TESTPOOL/$TESTFS >/dev/null 2>&1"
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo log_mustnot eval "zfs unshare $opt $mpt >/dev/null 2>&1"
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppodone
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo#Testing zfs unshare fails with legacy share set
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppolog_must zfs set sharenfs=off $TESTPOOL/$TESTFS
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppofor opt in "" "-f"; do
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo log_mustnot eval "zfs unshare $opt $TESTPOOL/$TESTFS >/dev/null 2>&1"
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo log_mustnot eval "zfs unshare $opt $mpt >/dev/null 2>&1"
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppodone
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppolog_pass "'zfs unshare' fails as expected with badly-formed parameters."
1ae0874509b6811fdde1dfd46f0d93fd09867a3fheppo