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