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 xattr_001_pos cleanup 28xattr_001_pos_head() 29{ 30 atf_set "descr" "Create/read/write/append of xattrs works" 31 atf_set "require.progs" "ksh93 svcadm svcs" 32} 33xattr_001_pos_body() 34{ 35 . $(atf_get_srcdir)/../../include/default.cfg 36 . $(atf_get_srcdir)/xattr_common.kshlib 37 . $(atf_get_srcdir)/xattr.cfg 38 39 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 40 ksh93 $(atf_get_srcdir)/xattr_001_pos.ksh || atf_fail "Testcase failed" 41} 42xattr_001_pos_cleanup() 43{ 44 . $(atf_get_srcdir)/../../include/default.cfg 45 . $(atf_get_srcdir)/xattr_common.kshlib 46 . $(atf_get_srcdir)/xattr.cfg 47 48 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 49} 50 51 52atf_test_case xattr_002_neg cleanup 53xattr_002_neg_head() 54{ 55 atf_set "descr" "A read of a non-existent xattr fails" 56 atf_set "require.progs" "ksh93 svcadm svcs" 57} 58xattr_002_neg_body() 59{ 60 . $(atf_get_srcdir)/../../include/default.cfg 61 . $(atf_get_srcdir)/xattr_common.kshlib 62 . $(atf_get_srcdir)/xattr.cfg 63 64 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 65 ksh93 $(atf_get_srcdir)/xattr_002_neg.ksh || atf_fail "Testcase failed" 66} 67xattr_002_neg_cleanup() 68{ 69 . $(atf_get_srcdir)/../../include/default.cfg 70 . $(atf_get_srcdir)/xattr_common.kshlib 71 . $(atf_get_srcdir)/xattr.cfg 72 73 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 74} 75 76 77atf_test_case xattr_003_neg cleanup 78xattr_003_neg_head() 79{ 80 atf_set "descr" "read/write xattr on a file with no permissions fails" 81 atf_set "require.progs" "ksh93 svcs svcadm runat runwattr" 82} 83xattr_003_neg_body() 84{ 85 . $(atf_get_srcdir)/../../include/default.cfg 86 . $(atf_get_srcdir)/xattr_common.kshlib 87 . $(atf_get_srcdir)/xattr.cfg 88 89 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 90 ksh93 $(atf_get_srcdir)/xattr_003_neg.ksh || atf_fail "Testcase failed" 91} 92xattr_003_neg_cleanup() 93{ 94 . $(atf_get_srcdir)/../../include/default.cfg 95 . $(atf_get_srcdir)/xattr_common.kshlib 96 . $(atf_get_srcdir)/xattr.cfg 97 98 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 99} 100 101 102atf_test_case xattr_004_pos cleanup 103xattr_004_pos_head() 104{ 105 atf_set "descr" "Files from ufs,tmpfs with xattrs copied to zfs retain xattr info." 106 atf_set "require.progs" "ksh93 zfs svcadm runat svcs" 107} 108xattr_004_pos_body() 109{ 110 . $(atf_get_srcdir)/../../include/default.cfg 111 . $(atf_get_srcdir)/xattr_common.kshlib 112 . $(atf_get_srcdir)/xattr.cfg 113 114 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 115 ksh93 $(atf_get_srcdir)/xattr_004_pos.ksh || atf_fail "Testcase failed" 116} 117xattr_004_pos_cleanup() 118{ 119 . $(atf_get_srcdir)/../../include/default.cfg 120 . $(atf_get_srcdir)/xattr_common.kshlib 121 . $(atf_get_srcdir)/xattr.cfg 122 123 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 124} 125 126 127atf_test_case xattr_005_pos cleanup 128xattr_005_pos_head() 129{ 130 atf_set "descr" "read/write/create/delete xattr on a clone filesystem" 131 atf_set "require.progs" "ksh93 zfs svcadm svcs" 132} 133xattr_005_pos_body() 134{ 135 . $(atf_get_srcdir)/../../include/default.cfg 136 . $(atf_get_srcdir)/xattr_common.kshlib 137 . $(atf_get_srcdir)/xattr.cfg 138 139 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 140 ksh93 $(atf_get_srcdir)/xattr_005_pos.ksh || atf_fail "Testcase failed" 141} 142xattr_005_pos_cleanup() 143{ 144 . $(atf_get_srcdir)/../../include/default.cfg 145 . $(atf_get_srcdir)/xattr_common.kshlib 146 . $(atf_get_srcdir)/xattr.cfg 147 148 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 149} 150 151 152atf_test_case xattr_006_pos cleanup 153xattr_006_pos_head() 154{ 155 atf_set "descr" "read xattr on a snapshot" 156 atf_set "require.progs" "ksh93 zfs svcadm svcs" 157} 158xattr_006_pos_body() 159{ 160 . $(atf_get_srcdir)/../../include/default.cfg 161 . $(atf_get_srcdir)/xattr_common.kshlib 162 . $(atf_get_srcdir)/xattr.cfg 163 164 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 165 ksh93 $(atf_get_srcdir)/xattr_006_pos.ksh || atf_fail "Testcase failed" 166} 167xattr_006_pos_cleanup() 168{ 169 . $(atf_get_srcdir)/../../include/default.cfg 170 . $(atf_get_srcdir)/xattr_common.kshlib 171 . $(atf_get_srcdir)/xattr.cfg 172 173 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 174} 175 176 177atf_test_case xattr_007_neg cleanup 178xattr_007_neg_head() 179{ 180 atf_set "descr" "create/write xattr on a snapshot fails" 181 atf_set "require.progs" "ksh93 zfs svcadm runat svcs" 182} 183xattr_007_neg_body() 184{ 185 . $(atf_get_srcdir)/../../include/default.cfg 186 . $(atf_get_srcdir)/xattr_common.kshlib 187 . $(atf_get_srcdir)/xattr.cfg 188 189 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 190 ksh93 $(atf_get_srcdir)/xattr_007_neg.ksh || atf_fail "Testcase failed" 191} 192xattr_007_neg_cleanup() 193{ 194 . $(atf_get_srcdir)/../../include/default.cfg 195 . $(atf_get_srcdir)/xattr_common.kshlib 196 . $(atf_get_srcdir)/xattr.cfg 197 198 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 199} 200 201 202atf_test_case xattr_008_pos cleanup 203xattr_008_pos_head() 204{ 205 atf_set "descr" "special . and .. dirs work as expected for xattrs" 206 atf_set "require.progs" "ksh93 svcadm runat svcs" 207} 208xattr_008_pos_body() 209{ 210 . $(atf_get_srcdir)/../../include/default.cfg 211 . $(atf_get_srcdir)/xattr_common.kshlib 212 . $(atf_get_srcdir)/xattr.cfg 213 214 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 215 ksh93 $(atf_get_srcdir)/xattr_008_pos.ksh || atf_fail "Testcase failed" 216} 217xattr_008_pos_cleanup() 218{ 219 . $(atf_get_srcdir)/../../include/default.cfg 220 . $(atf_get_srcdir)/xattr_common.kshlib 221 . $(atf_get_srcdir)/xattr.cfg 222 223 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 224} 225 226 227atf_test_case xattr_009_neg cleanup 228xattr_009_neg_head() 229{ 230 atf_set "descr" "links between xattr and normal file namespace fail" 231 atf_set "require.progs" "ksh93 svcadm runat svcs" 232} 233xattr_009_neg_body() 234{ 235 . $(atf_get_srcdir)/../../include/default.cfg 236 . $(atf_get_srcdir)/xattr_common.kshlib 237 . $(atf_get_srcdir)/xattr.cfg 238 239 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 240 ksh93 $(atf_get_srcdir)/xattr_009_neg.ksh || atf_fail "Testcase failed" 241} 242xattr_009_neg_cleanup() 243{ 244 . $(atf_get_srcdir)/../../include/default.cfg 245 . $(atf_get_srcdir)/xattr_common.kshlib 246 . $(atf_get_srcdir)/xattr.cfg 247 248 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 249} 250 251 252atf_test_case xattr_010_neg cleanup 253xattr_010_neg_head() 254{ 255 atf_set "descr" "mkdir, mknod fail" 256 atf_set "require.progs" "ksh93 svcadm runat svcs" 257} 258xattr_010_neg_body() 259{ 260 . $(atf_get_srcdir)/../../include/default.cfg 261 . $(atf_get_srcdir)/xattr_common.kshlib 262 . $(atf_get_srcdir)/xattr.cfg 263 264 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 265 ksh93 $(atf_get_srcdir)/xattr_010_neg.ksh || atf_fail "Testcase failed" 266} 267xattr_010_neg_cleanup() 268{ 269 . $(atf_get_srcdir)/../../include/default.cfg 270 . $(atf_get_srcdir)/xattr_common.kshlib 271 . $(atf_get_srcdir)/xattr.cfg 272 273 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 274} 275 276 277atf_test_case xattr_011_pos cleanup 278xattr_011_pos_head() 279{ 280 atf_set "descr" "Basic applications work with xattrs: cpio cp find mv pax tar" 281 atf_set "require.progs" "ksh93 pax svcadm runat svcs" 282} 283xattr_011_pos_body() 284{ 285 . $(atf_get_srcdir)/../../include/default.cfg 286 . $(atf_get_srcdir)/xattr_common.kshlib 287 . $(atf_get_srcdir)/xattr.cfg 288 289 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 290 ksh93 $(atf_get_srcdir)/xattr_011_pos.ksh || atf_fail "Testcase failed" 291} 292xattr_011_pos_cleanup() 293{ 294 . $(atf_get_srcdir)/../../include/default.cfg 295 . $(atf_get_srcdir)/xattr_common.kshlib 296 . $(atf_get_srcdir)/xattr.cfg 297 298 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 299} 300 301 302atf_test_case xattr_012_pos cleanup 303xattr_012_pos_head() 304{ 305 atf_set "descr" "xattr file sizes count towards normal disk usage" 306 atf_set "require.progs" "ksh93 svcadm zfs runat zpool svcs" 307} 308xattr_012_pos_body() 309{ 310 . $(atf_get_srcdir)/../../include/default.cfg 311 . $(atf_get_srcdir)/xattr_common.kshlib 312 . $(atf_get_srcdir)/xattr.cfg 313 314 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 315 ksh93 $(atf_get_srcdir)/xattr_012_pos.ksh || atf_fail "Testcase failed" 316} 317xattr_012_pos_cleanup() 318{ 319 . $(atf_get_srcdir)/../../include/default.cfg 320 . $(atf_get_srcdir)/xattr_common.kshlib 321 . $(atf_get_srcdir)/xattr.cfg 322 323 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 324} 325 326 327atf_test_case xattr_013_pos cleanup 328xattr_013_pos_head() 329{ 330 atf_set "descr" "The noxattr mount option functions as expected" 331 atf_set "require.progs" "ksh93 zfs svcadm runat svcs" 332} 333xattr_013_pos_body() 334{ 335 . $(atf_get_srcdir)/../../include/default.cfg 336 . $(atf_get_srcdir)/xattr_common.kshlib 337 . $(atf_get_srcdir)/xattr.cfg 338 339 ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed" 340 ksh93 $(atf_get_srcdir)/xattr_013_pos.ksh || atf_fail "Testcase failed" 341} 342xattr_013_pos_cleanup() 343{ 344 . $(atf_get_srcdir)/../../include/default.cfg 345 . $(atf_get_srcdir)/xattr_common.kshlib 346 . $(atf_get_srcdir)/xattr.cfg 347 348 ksh93 $(atf_get_srcdir)/cleanup.ksh || atf_fail "Cleanup failed" 349} 350 351 352atf_init_test_cases() 353{ 354 355 atf_add_test_case xattr_001_pos 356 atf_add_test_case xattr_002_neg 357 atf_add_test_case xattr_003_neg 358 atf_add_test_case xattr_004_pos 359 atf_add_test_case xattr_005_pos 360 atf_add_test_case xattr_006_pos 361 atf_add_test_case xattr_007_neg 362 atf_add_test_case xattr_008_pos 363 atf_add_test_case xattr_009_neg 364 atf_add_test_case xattr_010_neg 365 atf_add_test_case xattr_011_pos 366 atf_add_test_case xattr_012_pos 367 atf_add_test_case xattr_013_pos 368} 369