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# $FreeBSD$
22
23#
24# Copyright 2012 Spectra Logic.  All rights reserved.
25# Use is subject to license terms.
26#
27
28
29atf_test_case zvol_misc_001_neg cleanup
30zvol_misc_001_neg_head()
31{
32	atf_set "descr" "Verify that ZFS volume cannot act as dump device until dumpswap supported."
33}
34zvol_misc_001_neg_body()
35{
36	. $(atf_get_srcdir)/../../../include/default.cfg
37	. $(atf_get_srcdir)/zvol_misc.cfg
38
39	verify_disk_count "$DISKS" 1
40	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
41	ksh93 $(atf_get_srcdir)/zvol_misc_001_neg.ksh || atf_fail "Testcase failed"
42}
43zvol_misc_001_neg_cleanup()
44{
45	. $(atf_get_srcdir)/../../../include/default.cfg
46	. $(atf_get_srcdir)/zvol_misc.cfg
47
48	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
49}
50
51
52atf_test_case zvol_misc_002_pos cleanup
53zvol_misc_002_pos_head()
54{
55	atf_set "descr" "Verify that ZFS volume snapshot could be fscked"
56	atf_set "require.progs" "ksh93 zfs"
57}
58zvol_misc_002_pos_body()
59{
60	. $(atf_get_srcdir)/../../../include/default.cfg
61	. $(atf_get_srcdir)/zvol_misc.cfg
62
63	verify_disk_count "$DISKS" 1
64	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
65	ksh93 $(atf_get_srcdir)/zvol_misc_002_pos.ksh || atf_fail "Testcase failed"
66}
67zvol_misc_002_pos_cleanup()
68{
69	. $(atf_get_srcdir)/../../../include/default.cfg
70	. $(atf_get_srcdir)/zvol_misc.cfg
71
72	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
73}
74
75
76atf_test_case zvol_misc_003_neg cleanup
77zvol_misc_003_neg_head()
78{
79	atf_set "descr" "Verify create storage pool or newfs over dump volume is denied."
80	atf_set "require.progs" "ksh93 dumpadm zpool"
81}
82zvol_misc_003_neg_body()
83{
84	atf_skip "FreeBSD does not yet support dumping to a zvol"
85	. $(atf_get_srcdir)/../../../include/default.cfg
86	. $(atf_get_srcdir)/zvol_misc.cfg
87
88	verify_disk_count "$DISKS" 1
89	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
90	ksh93 $(atf_get_srcdir)/zvol_misc_003_neg.ksh || atf_fail "Testcase failed"
91}
92zvol_misc_003_neg_cleanup()
93{
94	. $(atf_get_srcdir)/../../../include/default.cfg
95	. $(atf_get_srcdir)/zvol_misc.cfg
96
97	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
98}
99
100
101atf_test_case zvol_misc_004_pos cleanup
102zvol_misc_004_pos_head()
103{
104	atf_set "descr" "Verify permit to create snapshot over dumpswap."
105	atf_set "require.progs" "ksh93 zfs swap"
106}
107zvol_misc_004_pos_body()
108{
109	atf_skip "FreeBSD does not yet support dumping to a zvol"
110	. $(atf_get_srcdir)/../../../include/default.cfg
111	. $(atf_get_srcdir)/zvol_misc.cfg
112
113	verify_disk_count "$DISKS" 1
114	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
115	ksh93 $(atf_get_srcdir)/zvol_misc_004_pos.ksh || atf_fail "Testcase failed"
116}
117zvol_misc_004_pos_cleanup()
118{
119	. $(atf_get_srcdir)/../../../include/default.cfg
120	. $(atf_get_srcdir)/zvol_misc.cfg
121
122	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
123}
124
125
126atf_test_case zvol_misc_005_neg cleanup
127zvol_misc_005_neg_head()
128{
129	atf_set "descr" "Verify a device cannot be dump and swap at the same time."
130	atf_set "require.progs" "ksh93 dumpadm swap"
131}
132zvol_misc_005_neg_body()
133{
134	atf_skip "FreeBSD does not yet support dumping to a zvol"
135	. $(atf_get_srcdir)/../../../include/default.cfg
136	. $(atf_get_srcdir)/zvol_misc.cfg
137
138	verify_disk_count "$DISKS" 1
139	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
140	ksh93 $(atf_get_srcdir)/zvol_misc_005_neg.ksh || atf_fail "Testcase failed"
141}
142zvol_misc_005_neg_cleanup()
143{
144	. $(atf_get_srcdir)/../../../include/default.cfg
145	. $(atf_get_srcdir)/zvol_misc.cfg
146
147	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
148}
149
150
151atf_test_case zvol_misc_006_pos cleanup
152zvol_misc_006_pos_head()
153{
154	atf_set "descr" "zfs volume as dumpdevice should have 128k volblocksize"
155	atf_set "require.progs" "ksh93 dumpadm zfs"
156}
157zvol_misc_006_pos_body()
158{
159	atf_skip "FreeBSD does not yet support dumping to a zvol"
160	. $(atf_get_srcdir)/../../../include/default.cfg
161	. $(atf_get_srcdir)/zvol_misc.cfg
162
163	verify_disk_count "$DISKS" 1
164	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
165	ksh93 $(atf_get_srcdir)/zvol_misc_006_pos.ksh || atf_fail "Testcase failed"
166}
167zvol_misc_006_pos_cleanup()
168{
169	. $(atf_get_srcdir)/../../../include/default.cfg
170	. $(atf_get_srcdir)/zvol_misc.cfg
171
172	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
173}
174
175
176atf_test_case zvol_misc_007_pos cleanup
177zvol_misc_007_pos_head()
178{
179	atf_set "descr" "zfs volume device nodes are modified appropriately"
180	atf_set "require.progs" "ksh93 zfs"
181	atf_set "timeout" 1200
182}
183zvol_misc_007_pos_body()
184{
185	. $(atf_get_srcdir)/../../../include/default.cfg
186	. $(atf_get_srcdir)/zvol_misc.cfg
187	atf_expect_fail "PR 225223 zfs rename -r of a snapshot doesn't rename zvol snapshots' device nodes"
188
189	verify_disk_count "$DISKS" 1
190	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
191	ksh93 $(atf_get_srcdir)/zvol_misc_007_pos.ksh || atf_fail "Testcase failed"
192}
193zvol_misc_007_pos_cleanup()
194{
195	. $(atf_get_srcdir)/../../../include/default.cfg
196	. $(atf_get_srcdir)/zvol_misc.cfg
197
198	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
199}
200
201
202atf_test_case zvol_misc_008_pos cleanup
203zvol_misc_008_pos_head()
204{
205	atf_set "descr" "zfs volume device nodes are modified appropriately"
206	atf_set "require.progs" "ksh93 zfs"
207	atf_set "timeout" 1200
208}
209zvol_misc_008_pos_body()
210{
211	. $(atf_get_srcdir)/../../../include/default.cfg
212	. $(atf_get_srcdir)/zvol_misc.cfg
213	atf_expect_fail "PR 225200 zfs promote of a zvol doesn't rename device nodes for snapshots"
214
215	verify_disk_count "$DISKS" 1
216	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
217	ksh93 $(atf_get_srcdir)/zvol_misc_008_pos.ksh || atf_fail "Testcase failed"
218}
219zvol_misc_008_pos_cleanup()
220{
221	. $(atf_get_srcdir)/../../../include/default.cfg
222	. $(atf_get_srcdir)/zvol_misc.cfg
223
224	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
225}
226
227
228atf_test_case zvol_misc_009_pos cleanup
229zvol_misc_009_pos_head()
230{
231	atf_set "descr" "zfs volume device nodes are modified appropriately"
232	atf_set "require.progs" "ksh93 zfs"
233	atf_set "timeout" 1200
234}
235zvol_misc_009_pos_body()
236{
237	. $(atf_get_srcdir)/../../../include/default.cfg
238	. $(atf_get_srcdir)/zvol_misc.cfg
239
240	verify_disk_count "$DISKS" 1
241	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
242	ksh93 $(atf_get_srcdir)/zvol_misc_009_pos.ksh || atf_fail "Testcase failed"
243}
244zvol_misc_009_pos_cleanup()
245{
246	. $(atf_get_srcdir)/../../../include/default.cfg
247	. $(atf_get_srcdir)/zvol_misc.cfg
248
249	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
250}
251
252
253atf_init_test_cases()
254{
255
256	atf_add_test_case zvol_misc_001_neg
257	atf_add_test_case zvol_misc_002_pos
258	atf_add_test_case zvol_misc_003_neg
259	atf_add_test_case zvol_misc_004_pos
260	atf_add_test_case zvol_misc_005_neg
261	atf_add_test_case zvol_misc_006_pos
262	atf_add_test_case zvol_misc_007_pos
263	atf_add_test_case zvol_misc_008_pos
264	atf_add_test_case zvol_misc_009_pos
265}
266