1# CDDL HEADER START
2#
3# The contents of this file are subject to the terms of the
4# Common Development and Distribution License (the "License").
5# You may not use this file except in compliance with the License.
6#
7# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
8# or http://www.opensolaris.org/os/licensing.
9# See the License for the specific language governing permissions
10# and limitations under the License.
11#
12# When distributing Covered Code, include this CDDL HEADER in each
13# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
14# If applicable, add the following below this CDDL HEADER, with the
15# fields enclosed by brackets "[]" replaced with your own identifying
16# information: Portions Copyright [yyyy] [name of copyright owner]
17#
18# CDDL HEADER END
19#
20
21#
22# Copyright 2012 Spectra Logic.  All rights reserved.
23# Use is subject to license terms.
24#
25
26
27atf_test_case zfs_unshare_001_pos cleanup
28zfs_unshare_001_pos_head()
29{
30	atf_set "descr" "Verify that 'zfs unshare [-a] <filesystem|mountpoint>' succeeds as root."
31	atf_set "require.progs" "ksh93 zfs unshare svcs"
32}
33zfs_unshare_001_pos_body()
34{
35	. $(atf_get_srcdir)/../../../include/default.cfg
36	. $(atf_get_srcdir)/zfs_unshare.cfg
37
38	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
39	ksh93 $(atf_get_srcdir)/zfs_unshare_001_pos.ksh || atf_fail "Testcase failed"
40}
41zfs_unshare_001_pos_cleanup()
42{
43	. $(atf_get_srcdir)/../../../include/default.cfg
44	. $(atf_get_srcdir)/zfs_unshare.cfg
45
46	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
47}
48
49
50atf_test_case zfs_unshare_002_pos cleanup
51zfs_unshare_002_pos_head()
52{
53	atf_set "descr" "Verify that 'zfs unshare [-a]' is aware of legacy share."
54	atf_set "require.progs" "ksh93 zfs unshare share svcs"
55}
56zfs_unshare_002_pos_body()
57{
58	. $(atf_get_srcdir)/../../../include/default.cfg
59	. $(atf_get_srcdir)/zfs_unshare.cfg
60
61	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
62	ksh93 $(atf_get_srcdir)/zfs_unshare_002_pos.ksh || atf_fail "Testcase failed"
63}
64zfs_unshare_002_pos_cleanup()
65{
66	. $(atf_get_srcdir)/../../../include/default.cfg
67	. $(atf_get_srcdir)/zfs_unshare.cfg
68
69	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
70}
71
72
73atf_test_case zfs_unshare_003_pos cleanup
74zfs_unshare_003_pos_head()
75{
76	atf_set "descr" "Verify that a file system and its dependent are unshared."
77	atf_set "require.progs" "ksh93 zfs unshare svcs"
78}
79zfs_unshare_003_pos_body()
80{
81	. $(atf_get_srcdir)/../../../include/default.cfg
82	. $(atf_get_srcdir)/zfs_unshare.cfg
83
84	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
85	ksh93 $(atf_get_srcdir)/zfs_unshare_003_pos.ksh || atf_fail "Testcase failed"
86}
87zfs_unshare_003_pos_cleanup()
88{
89	. $(atf_get_srcdir)/../../../include/default.cfg
90	. $(atf_get_srcdir)/zfs_unshare.cfg
91
92	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
93}
94
95
96atf_test_case zfs_unshare_004_neg cleanup
97zfs_unshare_004_neg_head()
98{
99	atf_set "descr" "Verify that '$ZFS unshare' issue error message with badly formed parameter."
100	atf_set "require.progs" "ksh93 zfs svcs"
101}
102zfs_unshare_004_neg_body()
103{
104	. $(atf_get_srcdir)/../../../include/default.cfg
105	. $(atf_get_srcdir)/zfs_unshare.cfg
106
107	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
108	ksh93 $(atf_get_srcdir)/zfs_unshare_004_neg.ksh || atf_fail "Testcase failed"
109}
110zfs_unshare_004_neg_cleanup()
111{
112	. $(atf_get_srcdir)/../../../include/default.cfg
113	. $(atf_get_srcdir)/zfs_unshare.cfg
114
115	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
116}
117
118
119atf_test_case zfs_unshare_005_neg cleanup
120zfs_unshare_005_neg_head()
121{
122	atf_set "descr" "Verify that unsharing a dataset other than filesystem fails."
123	atf_set "require.progs" "ksh93 zfs svcs"
124}
125zfs_unshare_005_neg_body()
126{
127	. $(atf_get_srcdir)/../../../include/default.cfg
128	. $(atf_get_srcdir)/zfs_unshare.cfg
129
130	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
131	ksh93 $(atf_get_srcdir)/zfs_unshare_005_neg.ksh || atf_fail "Testcase failed"
132}
133zfs_unshare_005_neg_cleanup()
134{
135	. $(atf_get_srcdir)/../../../include/default.cfg
136	. $(atf_get_srcdir)/zfs_unshare.cfg
137
138	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
139}
140
141
142atf_init_test_cases()
143{
144
145	atf_add_test_case zfs_unshare_001_pos
146	atf_add_test_case zfs_unshare_002_pos
147	atf_add_test_case zfs_unshare_003_pos
148	atf_add_test_case zfs_unshare_004_neg
149	atf_add_test_case zfs_unshare_005_neg
150}
151