]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - tests/sys/cddl/zfs/tests/cache/cache_test.sh
Update libdialog to 1.3-20180621
[FreeBSD/FreeBSD.git] / tests / sys / cddl / zfs / tests / cache / cache_test.sh
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
29 atf_test_case cache_001_pos cleanup
30 cache_001_pos_head()
31 {
32         atf_set "descr" "Creating a pool with a cache device succeeds."
33         atf_set "require.progs"  zpool
34         atf_set "timeout" 1200
35 }
36 cache_001_pos_body()
37 {
38         . $(atf_get_srcdir)/../../include/default.cfg
39         . $(atf_get_srcdir)/cache.kshlib
40         . $(atf_get_srcdir)/cache.cfg
41
42         verify_disk_count "$DISKS" 1
43         ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
44         ksh93 $(atf_get_srcdir)/cache_001_pos.ksh || atf_fail "Testcase failed"
45 }
46 cache_001_pos_cleanup()
47 {
48         . $(atf_get_srcdir)/../../include/default.cfg
49         . $(atf_get_srcdir)/cache.kshlib
50         . $(atf_get_srcdir)/cache.cfg
51
52         ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
53 }
54
55
56 atf_test_case cache_002_pos cleanup
57 cache_002_pos_head()
58 {
59         atf_set "descr" "Adding a cache device to normal pool works."
60         atf_set "require.progs"  zpool
61         atf_set "timeout" 1200
62 }
63 cache_002_pos_body()
64 {
65         . $(atf_get_srcdir)/../../include/default.cfg
66         . $(atf_get_srcdir)/cache.kshlib
67         . $(atf_get_srcdir)/cache.cfg
68
69         verify_disk_count "$DISKS" 1
70         ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
71         ksh93 $(atf_get_srcdir)/cache_002_pos.ksh || atf_fail "Testcase failed"
72 }
73 cache_002_pos_cleanup()
74 {
75         . $(atf_get_srcdir)/../../include/default.cfg
76         . $(atf_get_srcdir)/cache.kshlib
77         . $(atf_get_srcdir)/cache.cfg
78
79         ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
80 }
81
82
83 atf_test_case cache_003_pos cleanup
84 cache_003_pos_head()
85 {
86         atf_set "descr" "Adding an extra cache device works."
87         atf_set "require.progs"  zpool
88         atf_set "timeout" 1200
89 }
90 cache_003_pos_body()
91 {
92         . $(atf_get_srcdir)/../../include/default.cfg
93         . $(atf_get_srcdir)/cache.kshlib
94         . $(atf_get_srcdir)/cache.cfg
95
96         verify_disk_count "$DISKS" 2
97         ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
98         ksh93 $(atf_get_srcdir)/cache_003_pos.ksh || atf_fail "Testcase failed"
99 }
100 cache_003_pos_cleanup()
101 {
102         . $(atf_get_srcdir)/../../include/default.cfg
103         . $(atf_get_srcdir)/cache.kshlib
104         . $(atf_get_srcdir)/cache.cfg
105
106         ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
107 }
108
109
110 atf_test_case cache_004_neg cleanup
111 cache_004_neg_head()
112 {
113         atf_set "descr" "Attaching a cache device fails."
114         atf_set "require.progs"  zpool
115         atf_set "timeout" 1200
116 }
117 cache_004_neg_body()
118 {
119         . $(atf_get_srcdir)/../../include/default.cfg
120         . $(atf_get_srcdir)/cache.kshlib
121         . $(atf_get_srcdir)/cache.cfg
122
123         verify_disk_count "$DISKS" 2
124         ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
125         ksh93 $(atf_get_srcdir)/cache_004_neg.ksh || atf_fail "Testcase failed"
126 }
127 cache_004_neg_cleanup()
128 {
129         . $(atf_get_srcdir)/../../include/default.cfg
130         . $(atf_get_srcdir)/cache.kshlib
131         . $(atf_get_srcdir)/cache.cfg
132
133         ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
134 }
135
136
137 atf_test_case cache_005_neg cleanup
138 cache_005_neg_head()
139 {
140         atf_set "descr" "Replacing a cache device fails."
141         atf_set "require.progs"  zpool
142         atf_set "timeout" 1200
143 }
144 cache_005_neg_body()
145 {
146         . $(atf_get_srcdir)/../../include/default.cfg
147         . $(atf_get_srcdir)/cache.kshlib
148         . $(atf_get_srcdir)/cache.cfg
149
150         verify_disk_count "$DISKS" 2
151         ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
152         ksh93 $(atf_get_srcdir)/cache_005_neg.ksh || atf_fail "Testcase failed"
153 }
154 cache_005_neg_cleanup()
155 {
156         . $(atf_get_srcdir)/../../include/default.cfg
157         . $(atf_get_srcdir)/cache.kshlib
158         . $(atf_get_srcdir)/cache.cfg
159
160         ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
161 }
162
163
164 atf_test_case cache_006_pos cleanup
165 cache_006_pos_head()
166 {
167         atf_set "descr" "Exporting and importing pool with cache devices passes."
168         atf_set "require.progs"  zpool
169         atf_set "timeout" 1200
170 }
171 cache_006_pos_body()
172 {
173         . $(atf_get_srcdir)/../../include/default.cfg
174         . $(atf_get_srcdir)/cache.kshlib
175         . $(atf_get_srcdir)/cache.cfg
176
177         verify_disk_count "$DISKS" 2
178         ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
179         ksh93 $(atf_get_srcdir)/cache_006_pos.ksh || atf_fail "Testcase failed"
180 }
181 cache_006_pos_cleanup()
182 {
183         . $(atf_get_srcdir)/../../include/default.cfg
184         . $(atf_get_srcdir)/cache.kshlib
185         . $(atf_get_srcdir)/cache.cfg
186
187         ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
188 }
189
190
191 atf_test_case cache_007_neg cleanup
192 cache_007_neg_head()
193 {
194         atf_set "descr" "A mirror/raidz/raidz2 cache is not supported."
195         atf_set "require.progs"  zpool
196         atf_set "timeout" 1200
197 }
198 cache_007_neg_body()
199 {
200         . $(atf_get_srcdir)/../../include/default.cfg
201         . $(atf_get_srcdir)/cache.kshlib
202         . $(atf_get_srcdir)/cache.cfg
203
204         verify_disk_count "$DISKS" 2
205         ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
206         ksh93 $(atf_get_srcdir)/cache_007_neg.ksh || atf_fail "Testcase failed"
207 }
208 cache_007_neg_cleanup()
209 {
210         . $(atf_get_srcdir)/../../include/default.cfg
211         . $(atf_get_srcdir)/cache.kshlib
212         . $(atf_get_srcdir)/cache.cfg
213
214         ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
215 }
216
217
218 atf_test_case cache_008_neg cleanup
219 cache_008_neg_head()
220 {
221         atf_set "descr" "A raidz/raidz2 cache can not be added to existed pool."
222         atf_set "require.progs"  zpool
223         atf_set "timeout" 1200
224 }
225 cache_008_neg_body()
226 {
227         . $(atf_get_srcdir)/../../include/default.cfg
228         . $(atf_get_srcdir)/cache.kshlib
229         . $(atf_get_srcdir)/cache.cfg
230
231         verify_disk_count "$DISKS" 2
232         ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
233         ksh93 $(atf_get_srcdir)/cache_008_neg.ksh || atf_fail "Testcase failed"
234 }
235 cache_008_neg_cleanup()
236 {
237         . $(atf_get_srcdir)/../../include/default.cfg
238         . $(atf_get_srcdir)/cache.kshlib
239         . $(atf_get_srcdir)/cache.cfg
240
241         ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
242 }
243
244
245 atf_test_case cache_009_pos cleanup
246 cache_009_pos_head()
247 {
248         atf_set "descr" "Offline and online a cache device succeed."
249         atf_set "require.progs"  zpool
250         atf_set "timeout" 1200
251 }
252 cache_009_pos_body()
253 {
254         . $(atf_get_srcdir)/../../include/default.cfg
255         . $(atf_get_srcdir)/cache.kshlib
256         . $(atf_get_srcdir)/cache.cfg
257
258         verify_disk_count "$DISKS" 2
259         ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
260         ksh93 $(atf_get_srcdir)/cache_009_pos.ksh || atf_fail "Testcase failed"
261 }
262 cache_009_pos_cleanup()
263 {
264         . $(atf_get_srcdir)/../../include/default.cfg
265         . $(atf_get_srcdir)/cache.kshlib
266         . $(atf_get_srcdir)/cache.cfg
267
268         ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
269 }
270
271
272 atf_test_case cache_010_neg cleanup
273 cache_010_neg_head()
274 {
275         atf_set "descr" "Cache device can only be disk or slice."
276         atf_set "require.progs"  zfs zpool
277         atf_set "timeout" 1200
278 }
279 cache_010_neg_body()
280 {
281         . $(atf_get_srcdir)/../../include/default.cfg
282         . $(atf_get_srcdir)/cache.kshlib
283         . $(atf_get_srcdir)/cache.cfg
284
285         verify_disk_count "$DISKS" 1
286         ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
287         ksh93 $(atf_get_srcdir)/cache_010_neg.ksh || atf_fail "Testcase failed"
288 }
289 cache_010_neg_cleanup()
290 {
291         . $(atf_get_srcdir)/../../include/default.cfg
292         . $(atf_get_srcdir)/cache.kshlib
293         . $(atf_get_srcdir)/cache.cfg
294
295         ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
296 }
297
298
299 atf_test_case cache_011_pos cleanup
300 cache_011_pos_head()
301 {
302         atf_set "descr" "Remove cache device from pool with spare device should succeed"
303         atf_set "require.progs"  zpool
304         atf_set "timeout" 1200
305 }
306 cache_011_pos_body()
307 {
308         . $(atf_get_srcdir)/../../include/default.cfg
309         . $(atf_get_srcdir)/cache.kshlib
310         . $(atf_get_srcdir)/cache.cfg
311
312         verify_disk_count "$DISKS" 2
313         ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
314         ksh93 $(atf_get_srcdir)/cache_011_pos.ksh || atf_fail "Testcase failed"
315 }
316 cache_011_pos_cleanup()
317 {
318         . $(atf_get_srcdir)/../../include/default.cfg
319         . $(atf_get_srcdir)/cache.kshlib
320         . $(atf_get_srcdir)/cache.cfg
321
322         ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed"
323 }
324
325
326 atf_init_test_cases()
327 {
328
329         atf_add_test_case cache_001_pos
330         atf_add_test_case cache_002_pos
331         atf_add_test_case cache_003_pos
332         atf_add_test_case cache_004_neg
333         atf_add_test_case cache_005_neg
334         atf_add_test_case cache_006_pos
335         atf_add_test_case cache_007_neg
336         atf_add_test_case cache_008_neg
337         atf_add_test_case cache_009_pos
338         atf_add_test_case cache_010_neg
339         atf_add_test_case cache_011_pos
340 }