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 zfs_rename_001_pos cleanup
30zfs_rename_001_pos_head()
31{
32	atf_set "descr" "'zfs rename' should successfully rename valid datasets"
33	atf_set "require.progs" "ksh93 zfs"
34}
35zfs_rename_001_pos_body()
36{
37	. $(atf_get_srcdir)/../../../include/default.cfg
38	. $(atf_get_srcdir)/zfs_rename.kshlib
39	. $(atf_get_srcdir)/zfs_rename.cfg
40
41	verify_disk_count "$DISKS" 1
42	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
43	ksh93 $(atf_get_srcdir)/zfs_rename_001_pos.ksh || atf_fail "Testcase failed"
44}
45zfs_rename_001_pos_cleanup()
46{
47	. $(atf_get_srcdir)/../../../include/default.cfg
48	. $(atf_get_srcdir)/zfs_rename.kshlib
49	. $(atf_get_srcdir)/zfs_rename.cfg
50
51	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
52}
53
54
55atf_test_case zfs_rename_002_pos cleanup
56zfs_rename_002_pos_head()
57{
58	atf_set "descr" "'zfs rename' should successfully rename valid datasets"
59	atf_set "require.progs" "ksh93 zfs"
60}
61zfs_rename_002_pos_body()
62{
63	. $(atf_get_srcdir)/../../../include/default.cfg
64	. $(atf_get_srcdir)/zfs_rename.kshlib
65	. $(atf_get_srcdir)/zfs_rename.cfg
66
67	verify_disk_count "$DISKS" 1
68	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
69	ksh93 $(atf_get_srcdir)/zfs_rename_002_pos.ksh || atf_fail "Testcase failed"
70}
71zfs_rename_002_pos_cleanup()
72{
73	. $(atf_get_srcdir)/../../../include/default.cfg
74	. $(atf_get_srcdir)/zfs_rename.kshlib
75	. $(atf_get_srcdir)/zfs_rename.cfg
76
77	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
78}
79
80
81atf_test_case zfs_rename_003_pos cleanup
82zfs_rename_003_pos_head()
83{
84	atf_set "descr" "'zfs rename' can address the abbreviated snapshot name."
85	atf_set "require.progs" "ksh93 zfs"
86}
87zfs_rename_003_pos_body()
88{
89	. $(atf_get_srcdir)/../../../include/default.cfg
90	. $(atf_get_srcdir)/zfs_rename.kshlib
91	. $(atf_get_srcdir)/zfs_rename.cfg
92
93	verify_disk_count "$DISKS" 1
94	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
95	ksh93 $(atf_get_srcdir)/zfs_rename_003_pos.ksh || atf_fail "Testcase failed"
96}
97zfs_rename_003_pos_cleanup()
98{
99	. $(atf_get_srcdir)/../../../include/default.cfg
100	. $(atf_get_srcdir)/zfs_rename.kshlib
101	. $(atf_get_srcdir)/zfs_rename.cfg
102
103	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
104}
105
106
107atf_test_case zfs_rename_004_neg cleanup
108zfs_rename_004_neg_head()
109{
110	atf_set "descr" "'zfs rename' should fail when datasets are of a different type."
111	atf_set "require.progs" "ksh93 zfs"
112}
113zfs_rename_004_neg_body()
114{
115	. $(atf_get_srcdir)/../../../include/default.cfg
116	. $(atf_get_srcdir)/zfs_rename.kshlib
117	. $(atf_get_srcdir)/zfs_rename.cfg
118
119	verify_disk_count "$DISKS" 1
120	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
121	ksh93 $(atf_get_srcdir)/zfs_rename_004_neg.ksh || atf_fail "Testcase failed"
122}
123zfs_rename_004_neg_cleanup()
124{
125	. $(atf_get_srcdir)/../../../include/default.cfg
126	. $(atf_get_srcdir)/zfs_rename.kshlib
127	. $(atf_get_srcdir)/zfs_rename.cfg
128
129	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
130}
131
132
133atf_test_case zfs_rename_005_neg cleanup
134zfs_rename_005_neg_head()
135{
136	atf_set "descr" "'zfs rename' should fail while datasets are within different pool."
137	atf_set "require.progs" "ksh93 zfs"
138}
139zfs_rename_005_neg_body()
140{
141	. $(atf_get_srcdir)/../../../include/default.cfg
142	. $(atf_get_srcdir)/zfs_rename.kshlib
143	. $(atf_get_srcdir)/zfs_rename.cfg
144
145	verify_disk_count "$DISKS" 1
146	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
147	ksh93 $(atf_get_srcdir)/zfs_rename_005_neg.ksh || atf_fail "Testcase failed"
148}
149zfs_rename_005_neg_cleanup()
150{
151	. $(atf_get_srcdir)/../../../include/default.cfg
152	. $(atf_get_srcdir)/zfs_rename.kshlib
153	. $(atf_get_srcdir)/zfs_rename.cfg
154
155	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
156}
157
158
159atf_test_case zfs_rename_006_pos cleanup
160zfs_rename_006_pos_head()
161{
162	atf_set "descr" "'zfs rename' can successfully rename a volume snapshot."
163	atf_set "require.progs" "ksh93 zfs"
164}
165zfs_rename_006_pos_body()
166{
167	. $(atf_get_srcdir)/../../../include/default.cfg
168	. $(atf_get_srcdir)/zfs_rename.kshlib
169	. $(atf_get_srcdir)/zfs_rename.cfg
170
171	verify_disk_count "$DISKS" 1
172	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
173	ksh93 $(atf_get_srcdir)/zfs_rename_006_pos.ksh || atf_fail "Testcase failed"
174}
175zfs_rename_006_pos_cleanup()
176{
177	. $(atf_get_srcdir)/../../../include/default.cfg
178	. $(atf_get_srcdir)/zfs_rename.kshlib
179	. $(atf_get_srcdir)/zfs_rename.cfg
180
181	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
182}
183
184
185atf_test_case zfs_rename_007_pos cleanup
186zfs_rename_007_pos_head()
187{
188	atf_set "descr" "Rename dataset, verify that the data haven't changed."
189	atf_set "require.progs" "ksh93 zfs"
190}
191zfs_rename_007_pos_body()
192{
193	. $(atf_get_srcdir)/../../../include/default.cfg
194	. $(atf_get_srcdir)/zfs_rename.kshlib
195	. $(atf_get_srcdir)/zfs_rename.cfg
196
197	verify_disk_count "$DISKS" 1
198	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
199	ksh93 $(atf_get_srcdir)/zfs_rename_007_pos.ksh || atf_fail "Testcase failed"
200}
201zfs_rename_007_pos_cleanup()
202{
203	. $(atf_get_srcdir)/../../../include/default.cfg
204	. $(atf_get_srcdir)/zfs_rename.kshlib
205	. $(atf_get_srcdir)/zfs_rename.cfg
206
207	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
208}
209
210
211atf_test_case zfs_rename_008_pos cleanup
212zfs_rename_008_pos_head()
213{
214	atf_set "descr" "zfs rename -r can rename snapshot recursively."
215	atf_set "require.progs" "ksh93 zfs"
216}
217zfs_rename_008_pos_body()
218{
219	. $(atf_get_srcdir)/../../../include/default.cfg
220	. $(atf_get_srcdir)/zfs_rename.kshlib
221	. $(atf_get_srcdir)/zfs_rename.cfg
222
223	verify_disk_count "$DISKS" 1
224	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
225	ksh93 $(atf_get_srcdir)/zfs_rename_008_pos.ksh || atf_fail "Testcase failed"
226}
227zfs_rename_008_pos_cleanup()
228{
229	. $(atf_get_srcdir)/../../../include/default.cfg
230	. $(atf_get_srcdir)/zfs_rename.kshlib
231	. $(atf_get_srcdir)/zfs_rename.cfg
232
233	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
234}
235
236
237atf_test_case zfs_rename_009_neg cleanup
238zfs_rename_009_neg_head()
239{
240	atf_set "descr" "zfs rename -r failed, when snapshot name is already existing."
241	atf_set "require.progs" "ksh93 zfs"
242}
243zfs_rename_009_neg_body()
244{
245	. $(atf_get_srcdir)/../../../include/default.cfg
246	. $(atf_get_srcdir)/zfs_rename.kshlib
247	. $(atf_get_srcdir)/zfs_rename.cfg
248
249	verify_disk_count "$DISKS" 1
250	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
251	ksh93 $(atf_get_srcdir)/zfs_rename_009_neg.ksh || atf_fail "Testcase failed"
252}
253zfs_rename_009_neg_cleanup()
254{
255	. $(atf_get_srcdir)/../../../include/default.cfg
256	. $(atf_get_srcdir)/zfs_rename.kshlib
257	. $(atf_get_srcdir)/zfs_rename.cfg
258
259	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
260}
261
262
263atf_test_case zfs_rename_010_neg cleanup
264zfs_rename_010_neg_head()
265{
266	atf_set "descr" "The recursive flag -r can only be used for snapshots."
267	atf_set "require.progs" "ksh93 zfs"
268}
269zfs_rename_010_neg_body()
270{
271	. $(atf_get_srcdir)/../../../include/default.cfg
272	. $(atf_get_srcdir)/zfs_rename.kshlib
273	. $(atf_get_srcdir)/zfs_rename.cfg
274
275	verify_disk_count "$DISKS" 1
276	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
277	ksh93 $(atf_get_srcdir)/zfs_rename_010_neg.ksh || atf_fail "Testcase failed"
278}
279zfs_rename_010_neg_cleanup()
280{
281	. $(atf_get_srcdir)/../../../include/default.cfg
282	. $(atf_get_srcdir)/zfs_rename.kshlib
283	. $(atf_get_srcdir)/zfs_rename.cfg
284
285	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
286}
287
288
289atf_test_case zfs_rename_011_pos cleanup
290zfs_rename_011_pos_head()
291{
292	atf_set "descr" "'zfs rename -p' should work as expected"
293	atf_set "require.progs" "ksh93 zfs"
294}
295zfs_rename_011_pos_body()
296{
297	. $(atf_get_srcdir)/../../../include/default.cfg
298	. $(atf_get_srcdir)/zfs_rename.kshlib
299	. $(atf_get_srcdir)/zfs_rename.cfg
300
301	verify_disk_count "$DISKS" 1
302	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
303	ksh93 $(atf_get_srcdir)/zfs_rename_011_pos.ksh || atf_fail "Testcase failed"
304}
305zfs_rename_011_pos_cleanup()
306{
307	. $(atf_get_srcdir)/../../../include/default.cfg
308	. $(atf_get_srcdir)/zfs_rename.kshlib
309	. $(atf_get_srcdir)/zfs_rename.cfg
310
311	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
312}
313
314
315atf_test_case zfs_rename_012_neg cleanup
316zfs_rename_012_neg_head()
317{
318	atf_set "descr" "'zfs rename' should fail with bad option, null target dataset andtoo long target dataset name."
319	atf_set "require.progs" "ksh93 zfs"
320}
321zfs_rename_012_neg_body()
322{
323	. $(atf_get_srcdir)/../../../include/default.cfg
324	. $(atf_get_srcdir)/zfs_rename.kshlib
325	. $(atf_get_srcdir)/zfs_rename.cfg
326
327	verify_disk_count "$DISKS" 1
328	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
329	ksh93 $(atf_get_srcdir)/zfs_rename_012_neg.ksh || atf_fail "Testcase failed"
330}
331zfs_rename_012_neg_cleanup()
332{
333	. $(atf_get_srcdir)/../../../include/default.cfg
334	. $(atf_get_srcdir)/zfs_rename.kshlib
335	. $(atf_get_srcdir)/zfs_rename.cfg
336
337	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
338}
339
340
341atf_test_case zfs_rename_013_pos cleanup
342zfs_rename_013_pos_head()
343{
344	atf_set "descr" "zfs rename -r can rename snapshot when child datasetsdon't have a snapshot of the given name."
345	atf_set "require.progs" "ksh93 zfs"
346}
347zfs_rename_013_pos_body()
348{
349	. $(atf_get_srcdir)/../../../include/default.cfg
350	. $(atf_get_srcdir)/zfs_rename.kshlib
351	. $(atf_get_srcdir)/zfs_rename.cfg
352
353	verify_disk_count "$DISKS" 1
354	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
355	ksh93 $(atf_get_srcdir)/zfs_rename_013_pos.ksh || atf_fail "Testcase failed"
356}
357zfs_rename_013_pos_cleanup()
358{
359	. $(atf_get_srcdir)/../../../include/default.cfg
360	. $(atf_get_srcdir)/zfs_rename.kshlib
361	. $(atf_get_srcdir)/zfs_rename.cfg
362
363	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
364}
365
366
367atf_init_test_cases()
368{
369
370	atf_add_test_case zfs_rename_001_pos
371	atf_add_test_case zfs_rename_002_pos
372	atf_add_test_case zfs_rename_003_pos
373	atf_add_test_case zfs_rename_004_neg
374	atf_add_test_case zfs_rename_005_neg
375	atf_add_test_case zfs_rename_006_pos
376	atf_add_test_case zfs_rename_007_pos
377	atf_add_test_case zfs_rename_008_pos
378	atf_add_test_case zfs_rename_009_neg
379	atf_add_test_case zfs_rename_010_neg
380	atf_add_test_case zfs_rename_011_pos
381	atf_add_test_case zfs_rename_012_neg
382	atf_add_test_case zfs_rename_013_pos
383}
384