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