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 redundancy_001_pos cleanup
30redundancy_001_pos_head()
31{
32	atf_set "descr" "Verify raidz pool can withstand one device is failing."
33	atf_set "timeout" 1800
34}
35redundancy_001_pos_body()
36{
37	. $(atf_get_srcdir)/../../include/default.cfg
38	. $(atf_get_srcdir)/redundancy.kshlib
39	. $(atf_get_srcdir)/redundancy.cfg
40
41	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
42	ksh93 $(atf_get_srcdir)/redundancy_001_pos.ksh || atf_fail "Testcase failed"
43}
44redundancy_001_pos_cleanup()
45{
46	. $(atf_get_srcdir)/../../include/default.cfg
47	. $(atf_get_srcdir)/redundancy.kshlib
48	. $(atf_get_srcdir)/redundancy.cfg
49
50	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
51}
52
53
54atf_test_case redundancy_002_pos cleanup
55redundancy_002_pos_head()
56{
57	atf_set "descr" "Verify raidz2 pool can withstand two devices are failing."
58	atf_set "timeout" 1800
59}
60redundancy_002_pos_body()
61{
62	. $(atf_get_srcdir)/../../include/default.cfg
63	. $(atf_get_srcdir)/redundancy.kshlib
64	. $(atf_get_srcdir)/redundancy.cfg
65
66	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
67	ksh93 $(atf_get_srcdir)/redundancy_002_pos.ksh || atf_fail "Testcase failed"
68}
69redundancy_002_pos_cleanup()
70{
71	. $(atf_get_srcdir)/../../include/default.cfg
72	. $(atf_get_srcdir)/redundancy.kshlib
73	. $(atf_get_srcdir)/redundancy.cfg
74
75	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
76}
77
78
79atf_test_case redundancy_003_pos cleanup
80redundancy_003_pos_head()
81{
82	atf_set "descr" "Verify mirrored pool can withstand N-1 devices are failing or missing."
83	atf_set "timeout" 1800
84}
85redundancy_003_pos_body()
86{
87	. $(atf_get_srcdir)/../../include/default.cfg
88	. $(atf_get_srcdir)/redundancy.kshlib
89	. $(atf_get_srcdir)/redundancy.cfg
90
91	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
92	ksh93 $(atf_get_srcdir)/redundancy_003_pos.ksh || atf_fail "Testcase failed"
93}
94redundancy_003_pos_cleanup()
95{
96	. $(atf_get_srcdir)/../../include/default.cfg
97	. $(atf_get_srcdir)/redundancy.kshlib
98	. $(atf_get_srcdir)/redundancy.cfg
99
100	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
101}
102
103
104atf_test_case redundancy_004_neg cleanup
105redundancy_004_neg_head()
106{
107	atf_set "descr" "Verify striped pool have no data redundancy."
108	atf_set "require.progs" "ksh93 zpool"
109	atf_set "timeout" 1800
110}
111redundancy_004_neg_body()
112{
113	. $(atf_get_srcdir)/../../include/default.cfg
114	. $(atf_get_srcdir)/redundancy.kshlib
115	. $(atf_get_srcdir)/redundancy.cfg
116
117	ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
118	ksh93 $(atf_get_srcdir)/redundancy_004_neg.ksh || atf_fail "Testcase failed"
119}
120redundancy_004_neg_cleanup()
121{
122	. $(atf_get_srcdir)/../../include/default.cfg
123	. $(atf_get_srcdir)/redundancy.kshlib
124	. $(atf_get_srcdir)/redundancy.cfg
125
126	ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
127}
128
129
130atf_init_test_cases()
131{
132
133	atf_add_test_case redundancy_001_pos
134	atf_add_test_case redundancy_002_pos
135	atf_add_test_case redundancy_003_pos
136	atf_add_test_case redundancy_004_neg
137}
138