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 cache_001_pos cleanup 30cache_001_pos_head() 31{ 32 atf_set "descr" "Creating a pool with a cache device succeeds." 33 atf_set "require.progs" "ksh93 zpool" 34 atf_set "timeout" 1200 35} 36cache_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} 46cache_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 56atf_test_case cache_002_pos cleanup 57cache_002_pos_head() 58{ 59 atf_set "descr" "Adding a cache device to normal pool works." 60 atf_set "require.progs" "ksh93 zpool" 61 atf_set "timeout" 1200 62} 63cache_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} 73cache_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 83atf_test_case cache_003_pos cleanup 84cache_003_pos_head() 85{ 86 atf_set "descr" "Adding an extra cache device works." 87 atf_set "require.progs" "ksh93 zpool" 88 atf_set "timeout" 1200 89} 90cache_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} 100cache_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 110atf_test_case cache_004_neg cleanup 111cache_004_neg_head() 112{ 113 atf_set "descr" "Attaching a cache device fails." 114 atf_set "require.progs" "ksh93 zpool" 115 atf_set "timeout" 1200 116} 117cache_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} 127cache_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 137atf_test_case cache_005_neg cleanup 138cache_005_neg_head() 139{ 140 atf_set "descr" "Replacing a cache device fails." 141 atf_set "require.progs" "ksh93 zpool" 142 atf_set "timeout" 1200 143} 144cache_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} 154cache_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 164atf_test_case cache_006_pos cleanup 165cache_006_pos_head() 166{ 167 atf_set "descr" "Exporting and importing pool with cache devices passes." 168 atf_set "require.progs" "ksh93 zpool" 169 atf_set "timeout" 1200 170} 171cache_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} 181cache_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 191atf_test_case cache_007_neg cleanup 192cache_007_neg_head() 193{ 194 atf_set "descr" "A mirror/raidz/raidz2 cache is not supported." 195 atf_set "require.progs" "ksh93 zpool" 196 atf_set "timeout" 1200 197} 198cache_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} 208cache_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 218atf_test_case cache_008_neg cleanup 219cache_008_neg_head() 220{ 221 atf_set "descr" "A raidz/raidz2 cache can not be added to existed pool." 222 atf_set "require.progs" "ksh93 zpool" 223 atf_set "timeout" 1200 224} 225cache_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} 235cache_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 245atf_test_case cache_009_pos cleanup 246cache_009_pos_head() 247{ 248 atf_set "descr" "Offline and online a cache device succeed." 249 atf_set "require.progs" "ksh93 zpool" 250 atf_set "timeout" 1200 251} 252cache_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} 262cache_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 272atf_test_case cache_010_neg cleanup 273cache_010_neg_head() 274{ 275 atf_set "descr" "Cache device can only be disk or slice." 276 atf_set "require.progs" "ksh93 zfs zpool" 277 atf_set "timeout" 1200 278} 279cache_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} 289cache_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 299atf_test_case cache_011_pos cleanup 300cache_011_pos_head() 301{ 302 atf_set "descr" "Remove cache device from pool with spare device should succeed" 303 atf_set "require.progs" "ksh93 zpool" 304 atf_set "timeout" 1200 305} 306cache_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} 316cache_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 326atf_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} 341