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 zpool_destroy_001_pos cleanup
30zpool_destroy_001_pos_head()
31{
32	atf_set "descr" "'zpool destroy <pool>' can destroy a specified pool."
33	atf_set "require.progs" "ksh93 zfs zpool"
34}
35zpool_destroy_001_pos_body()
36{
37	. $(atf_get_srcdir)/../../../include/default.cfg
38	. $(atf_get_srcdir)/zpool_destroy.cfg
39
40	verify_zvol_recursive
41	verify_disk_count "$DISK" 1
42	ksh93 $(atf_get_srcdir)/zpool_destroy_001_pos.ksh || atf_fail "Testcase failed"
43}
44zpool_destroy_001_pos_cleanup()
45{
46	. $(atf_get_srcdir)/../../../include/default.cfg
47	. $(atf_get_srcdir)/zpool_destroy.cfg
48
49	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
50}
51
52
53atf_test_case zpool_destroy_002_pos cleanup
54zpool_destroy_002_pos_head()
55{
56	atf_set "descr" "'zpool destroy -f <pool>' can forcely destroy the specified pool"
57	atf_set "require.progs" "ksh93 zfs zpool"
58}
59zpool_destroy_002_pos_body()
60{
61	. $(atf_get_srcdir)/../../../include/default.cfg
62	. $(atf_get_srcdir)/zpool_destroy.cfg
63
64	verify_disk_count "$DISK" 1
65	ksh93 $(atf_get_srcdir)/zpool_destroy_002_pos.ksh || atf_fail "Testcase failed"
66}
67zpool_destroy_002_pos_cleanup()
68{
69	. $(atf_get_srcdir)/../../../include/default.cfg
70	. $(atf_get_srcdir)/zpool_destroy.cfg
71
72	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
73}
74
75
76atf_test_case zpool_destroy_003_neg cleanup
77zpool_destroy_003_neg_head()
78{
79	atf_set "descr" "'zpool destroy' should return an error with badly-formed parameters."
80	atf_set "require.progs" "ksh93 zpool"
81}
82zpool_destroy_003_neg_body()
83{
84	. $(atf_get_srcdir)/../../../include/default.cfg
85	. $(atf_get_srcdir)/zpool_destroy.cfg
86
87	ksh93 $(atf_get_srcdir)/zpool_destroy_003_neg.ksh || atf_fail "Testcase failed"
88}
89zpool_destroy_003_neg_cleanup()
90{
91	. $(atf_get_srcdir)/../../../include/default.cfg
92	. $(atf_get_srcdir)/zpool_destroy.cfg
93
94	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
95}
96
97
98atf_test_case zpool_destroy_004_pos cleanup
99zpool_destroy_004_pos_head()
100{
101	atf_set "descr" "'zpool destroy -f' should work on active pools."
102	atf_set "require.progs" "ksh93 zfs zpool"
103	atf_set "timeout" 2000
104}
105zpool_destroy_004_pos_body()
106{
107	. $(atf_get_srcdir)/../../../include/default.cfg
108	. $(atf_get_srcdir)/zpool_destroy.cfg
109
110	verify_disk_count "$DISKS" 2
111	ksh93 $(atf_get_srcdir)/zpool_destroy_004_pos.ksh || atf_fail "Testcase failed"
112}
113zpool_destroy_004_pos_cleanup()
114{
115	. $(atf_get_srcdir)/../../../include/default.cfg
116	. $(atf_get_srcdir)/zpool_destroy.cfg
117
118	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
119}
120
121
122atf_init_test_cases()
123{
124
125	atf_add_test_case zpool_destroy_001_pos
126	atf_add_test_case zpool_destroy_002_pos
127	atf_add_test_case zpool_destroy_003_neg
128	atf_add_test_case zpool_destroy_004_pos
129}
130