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 slog_001_pos cleanup 30slog_001_pos_head() 31{ 32 atf_set "descr" "Creating a pool with a log device succeeds." 33 atf_set "require.progs" "ksh93 zpool" 34 atf_set "timeout" 1200 35} 36slog_001_pos_body() 37{ 38 . $(atf_get_srcdir)/../../include/default.cfg 39 . $(atf_get_srcdir)/slog.kshlib 40 . $(atf_get_srcdir)/slog.cfg 41 42 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 43 ksh93 $(atf_get_srcdir)/slog_001_pos.ksh || atf_fail "Testcase failed" 44} 45slog_001_pos_cleanup() 46{ 47 . $(atf_get_srcdir)/../../include/default.cfg 48 . $(atf_get_srcdir)/slog.kshlib 49 . $(atf_get_srcdir)/slog.cfg 50 51 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 52} 53 54 55atf_test_case slog_002_pos cleanup 56slog_002_pos_head() 57{ 58 atf_set "descr" "Adding a log device to normal pool works." 59 atf_set "require.progs" "ksh93 zpool" 60 atf_set "timeout" 1200 61} 62slog_002_pos_body() 63{ 64 . $(atf_get_srcdir)/../../include/default.cfg 65 . $(atf_get_srcdir)/slog.kshlib 66 . $(atf_get_srcdir)/slog.cfg 67 68 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 69 ksh93 $(atf_get_srcdir)/slog_002_pos.ksh || atf_fail "Testcase failed" 70} 71slog_002_pos_cleanup() 72{ 73 . $(atf_get_srcdir)/../../include/default.cfg 74 . $(atf_get_srcdir)/slog.kshlib 75 . $(atf_get_srcdir)/slog.cfg 76 77 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 78} 79 80 81atf_test_case slog_003_pos cleanup 82slog_003_pos_head() 83{ 84 atf_set "descr" "Adding an extra log device works." 85 atf_set "require.progs" "ksh93 zpool" 86 atf_set "timeout" 1200 87} 88slog_003_pos_body() 89{ 90 . $(atf_get_srcdir)/../../include/default.cfg 91 . $(atf_get_srcdir)/slog.kshlib 92 . $(atf_get_srcdir)/slog.cfg 93 94 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 95 ksh93 $(atf_get_srcdir)/slog_003_pos.ksh || atf_fail "Testcase failed" 96} 97slog_003_pos_cleanup() 98{ 99 . $(atf_get_srcdir)/../../include/default.cfg 100 . $(atf_get_srcdir)/slog.kshlib 101 . $(atf_get_srcdir)/slog.cfg 102 103 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 104} 105 106 107atf_test_case slog_004_pos cleanup 108slog_004_pos_head() 109{ 110 atf_set "descr" "Attaching a log device passes." 111 atf_set "require.progs" "ksh93 zpool" 112 atf_set "timeout" 1200 113} 114slog_004_pos_body() 115{ 116 . $(atf_get_srcdir)/../../include/default.cfg 117 . $(atf_get_srcdir)/slog.kshlib 118 . $(atf_get_srcdir)/slog.cfg 119 120 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 121 ksh93 $(atf_get_srcdir)/slog_004_pos.ksh || atf_fail "Testcase failed" 122} 123slog_004_pos_cleanup() 124{ 125 . $(atf_get_srcdir)/../../include/default.cfg 126 . $(atf_get_srcdir)/slog.kshlib 127 . $(atf_get_srcdir)/slog.cfg 128 129 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 130} 131 132 133atf_test_case slog_005_pos cleanup 134slog_005_pos_head() 135{ 136 atf_set "descr" "Detaching a log device passes." 137 atf_set "require.progs" "ksh93 zpool" 138 atf_set "timeout" 1200 139} 140slog_005_pos_body() 141{ 142 . $(atf_get_srcdir)/../../include/default.cfg 143 . $(atf_get_srcdir)/slog.kshlib 144 . $(atf_get_srcdir)/slog.cfg 145 146 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 147 ksh93 $(atf_get_srcdir)/slog_005_pos.ksh || atf_fail "Testcase failed" 148} 149slog_005_pos_cleanup() 150{ 151 . $(atf_get_srcdir)/../../include/default.cfg 152 . $(atf_get_srcdir)/slog.kshlib 153 . $(atf_get_srcdir)/slog.cfg 154 155 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 156} 157 158 159atf_test_case slog_006_pos cleanup 160slog_006_pos_head() 161{ 162 atf_set "descr" "Replacing a log device passes." 163 atf_set "require.progs" "ksh93 zpool" 164 atf_set "timeout" 1200 165} 166slog_006_pos_body() 167{ 168 . $(atf_get_srcdir)/../../include/default.cfg 169 . $(atf_get_srcdir)/slog.kshlib 170 . $(atf_get_srcdir)/slog.cfg 171 172 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 173 ksh93 $(atf_get_srcdir)/slog_006_pos.ksh || atf_fail "Testcase failed" 174} 175slog_006_pos_cleanup() 176{ 177 . $(atf_get_srcdir)/../../include/default.cfg 178 . $(atf_get_srcdir)/slog.kshlib 179 . $(atf_get_srcdir)/slog.cfg 180 181 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 182} 183 184 185atf_test_case slog_007_pos cleanup 186slog_007_pos_head() 187{ 188 atf_set "descr" "Exporting and importing pool with log devices passes." 189 atf_set "require.progs" "ksh93 zpool" 190 atf_set "timeout" 1200 191} 192slog_007_pos_body() 193{ 194 . $(atf_get_srcdir)/../../include/default.cfg 195 . $(atf_get_srcdir)/slog.kshlib 196 . $(atf_get_srcdir)/slog.cfg 197 198 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 199 ksh93 $(atf_get_srcdir)/slog_007_pos.ksh || atf_fail "Testcase failed" 200} 201slog_007_pos_cleanup() 202{ 203 . $(atf_get_srcdir)/../../include/default.cfg 204 . $(atf_get_srcdir)/slog.kshlib 205 . $(atf_get_srcdir)/slog.cfg 206 207 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 208} 209 210 211atf_test_case slog_008_neg cleanup 212slog_008_neg_head() 213{ 214 atf_set "descr" "A raidz/raidz2 log is not supported." 215 atf_set "require.progs" "ksh93 zpool" 216 atf_set "timeout" 1200 217} 218slog_008_neg_body() 219{ 220 . $(atf_get_srcdir)/../../include/default.cfg 221 . $(atf_get_srcdir)/slog.kshlib 222 . $(atf_get_srcdir)/slog.cfg 223 224 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 225 ksh93 $(atf_get_srcdir)/slog_008_neg.ksh || atf_fail "Testcase failed" 226} 227slog_008_neg_cleanup() 228{ 229 . $(atf_get_srcdir)/../../include/default.cfg 230 . $(atf_get_srcdir)/slog.kshlib 231 . $(atf_get_srcdir)/slog.cfg 232 233 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 234} 235 236 237atf_test_case slog_009_neg cleanup 238slog_009_neg_head() 239{ 240 atf_set "descr" "A raidz/raidz2 log can not be added to existed pool." 241 atf_set "require.progs" "ksh93 zpool" 242 atf_set "timeout" 1200 243} 244slog_009_neg_body() 245{ 246 . $(atf_get_srcdir)/../../include/default.cfg 247 . $(atf_get_srcdir)/slog.kshlib 248 . $(atf_get_srcdir)/slog.cfg 249 250 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 251 ksh93 $(atf_get_srcdir)/slog_009_neg.ksh || atf_fail "Testcase failed" 252} 253slog_009_neg_cleanup() 254{ 255 . $(atf_get_srcdir)/../../include/default.cfg 256 . $(atf_get_srcdir)/slog.kshlib 257 . $(atf_get_srcdir)/slog.cfg 258 259 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 260} 261 262 263atf_test_case slog_010_neg cleanup 264slog_010_neg_head() 265{ 266 atf_set "descr" "Slog device can not be replaced with spare device." 267 atf_set "require.progs" "ksh93 zpool" 268 atf_set "timeout" 1200 269} 270slog_010_neg_body() 271{ 272 . $(atf_get_srcdir)/../../include/default.cfg 273 . $(atf_get_srcdir)/slog.kshlib 274 . $(atf_get_srcdir)/slog.cfg 275 276 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 277 ksh93 $(atf_get_srcdir)/slog_010_neg.ksh || atf_fail "Testcase failed" 278} 279slog_010_neg_cleanup() 280{ 281 . $(atf_get_srcdir)/../../include/default.cfg 282 . $(atf_get_srcdir)/slog.kshlib 283 . $(atf_get_srcdir)/slog.cfg 284 285 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 286} 287 288 289atf_test_case slog_011_neg cleanup 290slog_011_neg_head() 291{ 292 atf_set "descr" "Offline and online a log device passes." 293 atf_set "require.progs" "ksh93 zpool" 294 atf_set "timeout" 1200 295} 296slog_011_neg_body() 297{ 298 . $(atf_get_srcdir)/../../include/default.cfg 299 . $(atf_get_srcdir)/slog.kshlib 300 . $(atf_get_srcdir)/slog.cfg 301 302 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 303 ksh93 $(atf_get_srcdir)/slog_011_neg.ksh || atf_fail "Testcase failed" 304} 305slog_011_neg_cleanup() 306{ 307 . $(atf_get_srcdir)/../../include/default.cfg 308 . $(atf_get_srcdir)/slog.kshlib 309 . $(atf_get_srcdir)/slog.cfg 310 311 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 312} 313 314 315atf_test_case slog_012_neg cleanup 316slog_012_neg_head() 317{ 318 atf_set "descr" "Pool can survive when one of mirror log device get corrupted." 319 atf_set "require.progs" "ksh93 zpool" 320 atf_set "timeout" 1200 321} 322slog_012_neg_body() 323{ 324 . $(atf_get_srcdir)/../../include/default.cfg 325 . $(atf_get_srcdir)/slog.kshlib 326 . $(atf_get_srcdir)/slog.cfg 327 328 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 329 ksh93 $(atf_get_srcdir)/slog_012_neg.ksh || atf_fail "Testcase failed" 330} 331slog_012_neg_cleanup() 332{ 333 . $(atf_get_srcdir)/../../include/default.cfg 334 . $(atf_get_srcdir)/slog.kshlib 335 . $(atf_get_srcdir)/slog.cfg 336 337 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 338} 339 340 341atf_test_case slog_013_pos cleanup 342slog_013_pos_head() 343{ 344 atf_set "descr" "Verify slog device can be disk, file, lofi device or any devicethat presents a block interface." 345 atf_set "require.progs" "ksh93 zpool lofiadm" 346 atf_set "timeout" 1200 347} 348slog_013_pos_body() 349{ 350 . $(atf_get_srcdir)/../../include/default.cfg 351 . $(atf_get_srcdir)/slog.kshlib 352 . $(atf_get_srcdir)/slog.cfg 353 354 verify_disk_count "$DISKS" 2 355 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 356 ksh93 $(atf_get_srcdir)/slog_013_pos.ksh || atf_fail "Testcase failed" 357} 358slog_013_pos_cleanup() 359{ 360 . $(atf_get_srcdir)/../../include/default.cfg 361 . $(atf_get_srcdir)/slog.kshlib 362 . $(atf_get_srcdir)/slog.cfg 363 364 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 365} 366 367 368atf_test_case slog_014_pos cleanup 369slog_014_pos_head() 370{ 371 atf_set "descr" "log device can survive when one of the pool device get corrupted." 372 atf_set "require.progs" "ksh93 zpool" 373 atf_set "timeout" 1200 374} 375slog_014_pos_body() 376{ 377 . $(atf_get_srcdir)/../../include/default.cfg 378 . $(atf_get_srcdir)/slog.kshlib 379 . $(atf_get_srcdir)/slog.cfg 380 381 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 382 ksh93 $(atf_get_srcdir)/slog_014_pos.ksh || atf_fail "Testcase failed" 383} 384slog_014_pos_cleanup() 385{ 386 . $(atf_get_srcdir)/../../include/default.cfg 387 . $(atf_get_srcdir)/slog.kshlib 388 . $(atf_get_srcdir)/slog.cfg 389 390 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 391} 392 393 394atf_init_test_cases() 395{ 396 397 atf_add_test_case slog_001_pos 398 atf_add_test_case slog_002_pos 399 atf_add_test_case slog_003_pos 400 atf_add_test_case slog_004_pos 401 atf_add_test_case slog_005_pos 402 atf_add_test_case slog_006_pos 403 atf_add_test_case slog_007_pos 404 atf_add_test_case slog_008_neg 405 atf_add_test_case slog_009_neg 406 atf_add_test_case slog_010_neg 407 atf_add_test_case slog_011_neg 408 atf_add_test_case slog_012_neg 409 atf_add_test_case slog_013_pos 410 atf_add_test_case slog_014_pos 411} 412