1 #
   2 # CDDL HEADER START
   3 #
   4 # The contents of this file are subject to the terms of the
   5 # Common Development and Distribution License (the "License").
   6 # You may not use this file except in compliance with the License.
   7 #
   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 
  22 #
  23 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 #
  26 
  27 #################################################################################
  28 #
  29 # __stc_assertion_start
  30 #
  31 # ID: acl_chmod_001_pos
  32 #
  33 # DESCRIPTION:
  34 #       Verify chmod permission settings on files and directories, as both root
  35 #       and non-root users.
  36 #
  37 # STRATEGY:
  38 #       1. Loop root and $ACL_STAFF1 as root and non-root users.
  39 #       2. Create test file and directory in exported filesystem.
  40 #       3. Execute 'chmod' with specified options.
  41 #       4. Check 'ls -l' output and compare with expect results.
  42 #
  43 # TESTABILITY: explicit
  44 #
  45 # TEST_AUTOMATION_LEVEL: automated
  46 #
  47 # __stc_assertion_end
  48 #
  49 ################################################################################
  50 #
  51 # __stc_assertion_start
  52 #
  53 # ID: acl_compress_pos001
  54 #
  55 # DESCRIPTION:
  56 #       The function verifies that compress will keep file attribute intact
  57 #       after the file is compressed and uncompressed.
  58 #
  59 # STRATEGY:
  60 #       1. In directory A, create several files and add attribute files for them
  61 #       2. Save all files and their attribute files cksum value, then compress 
  62 #          all the files.
  63 #       3. Move them to another directory B.
  64 #       4. Uncompress them and calculate all the files and attribute files cksum
  65 #       5. Verify all the cksum are identical
  66 #       
  67 # TESTABILITY: explicit
  68 #
  69 # TEST_AUTOMATION_LEVEL: automated
  70 #
  71 # __stc_assertion_end
  72 #
  73 ################################################################################
  74 #
  75 # __stc_assertion_start
  76 #
  77 # ID: acl_cp_neg001
  78 #
  79 # DESCRIPTION:
  80 #       Verifies that cp will not include file attribute when the -@ flag is not
  81 #       present.
  82 #
  83 # STRATEGY:
  84 #       1. In directory A, create several files and add attribute files for them
  85 #       2. Implement cp to files without '-@'
  86 #       3. Verify attribute files will not include file attribute
  87 #
  88 # TESTABILITY: explicit
  89 #
  90 # TEST_AUTOMATION_LEVEL: automated
  91 #
  92 # __stc_assertion_end
  93 #
  94 ################################################################################
  95 #
  96 # __stc_assertion_start
  97 #
  98 # ID: acl_cp_neg002
  99 #
 100 # DESCRIPTION:
 101 #       Verifies that cp will not be able to include file attribute when
 102 #       attribute is unreadable (unless the user is root)
 103 #
 104 # STRATEGY:
 105 #       1. In directory A, create several files and add attribute files for them
 106 #       2. chmod all files'the attribute files to '000'.
 107 #       3. Implement 'cp -@p' to files.
 108 #       4. Verify attribute files are not existing for non-root user.
 109 #
 110 # TESTABILITY: explicit
 111 #
 112 # TEST_AUTOMATION_LEVEL: automated
 113 #
 114 # CODING_STATUS: COMPLETED (2006-06-01)
 115 #
 116 # __stc_assertion_end
 117 #
 118 ################################################################################
 119 #
 120 # __stc_assertion_start
 121 #
 122 # ID: acl_cp_pos001
 123 #
 124 # DESCRIPTION:
 125 #       Verifies that cp will include file attribute when using the -@ flag
 126 #
 127 # STRATEGY:
 128 #       1. In directory A, create several files and add attribute files for them
 129 #       2. Save all files and their attribute files cksum value, then 'cp -@p' 
 130 #          all the files to to another directory B.
 131 #       3. Calculate all the cksum in directory B.
 132 #       4. Verify all the cksum are identical
 133 #
 134 # TESTABILITY: explicit
 135 #
 136 # TEST_AUTOMATION_LEVEL: automated
 137 #
 138 # __stc_assertion_end
 139 #
 140 ################################################################################
 141 #
 142 # __stc_assertion_start
 143 #
 144 # ID: acl_find_neg001
 145 #
 146 # DESCRIPTION:
 147 #       Verifies ability to find files with attribute with -xattr flag and using
 148 #       "-exec runat ls".
 149 #
 150 # STRATEGY:
 151 #       1. In directory A, create several files and add attribute files for them
 152 #       2. Delete all the attribute files.
 153 #       2. Verify all the specified files can not be found with '-xattr', 
 154 #       3. Verify all the attribute files can not be found with '-exec runat ls'
 155 #
 156 # TESTABILITY: explicit
 157 #
 158 # TEST_AUTOMATION_LEVEL: automated
 159 #
 160 #
 161 # __stc_assertion_end
 162 #
 163 ################################################################################
 164 #
 165 # __stc_assertion_start
 166 #
 167 # ID: acl_find_pos001
 168 #
 169 # DESCRIPTION:
 170 #       Verifies ability to find files with attribute with -xattr flag and using
 171 #       "-exec runat ls".
 172 #
 173 # STRATEGY:
 174 #       1. In directory A, create several files and add attribute files for them
 175 #       2. Verify all the specified files can be found with '-xattr', 
 176 #       3. Verify all the attribute files can be found with '-exec runat ls'
 177 #
 178 # TESTABILITY: explicit
 179 #
 180 # TEST_AUTOMATION_LEVEL: automated
 181 #
 182 # __stc_assertion_end
 183 #
 184 ################################################################################
 185 #
 186 # __stc_assertion_start
 187 #
 188 # ID: acl_ls_neg001
 189 #
 190 # DESCRIPTION:
 191 #       Verifies that ls doesn't display @ in the file permissions using ls -@
 192 #       for files without attribute.
 193 #
 194 # STRATEGY:
 195 #       1. Create files with attribute files in directory A.
 196 #       2. Removed all attribute files.
 197 #       3. Verify 'ls -l' can't display @ in file permission.
 198 #
 199 # TESTABILITY: explicit
 200 #
 201 # TEST_AUTOMATION_LEVEL: automated
 202 #
 203 # __stc_assertion_end
 204 #
 205 ################################################################################
 206 #
 207 # __stc_assertion_start
 208 #
 209 # ID: acl_ls_pos001
 210 #
 211 # DESCRIPTION:
 212 #       Verifies that ls displays @ in the file permissions using ls -@ 
 213 #       for files with attribute.
 214 #
 215 # STRATEGY:
 216 #       1. Create files with attribute files in directory A.
 217 #       2. Verify 'ls -l' can display @ in file permissions.
 218 #
 219 # TESTABILITY: explicit
 220 #
 221 # TEST_AUTOMATION_LEVEL: automated
 222 #
 223 # __stc_assertion_end
 224 #
 225 ################################################################################
 226 #
 227 # __stc_assertion_start
 228 #
 229 # ID: zfs_acl_mv_001_pos
 230 #
 231 # DESCRIPTION:
 232 #       Verifies that mv will include file attribute.
 233 #
 234 # STRATEGY:
 235 #       1. In directory A, create several files and add attribute files for them
 236 #       2. Save all files and their attribute files cksum value
 237 #       3. Move them to another directory B.
 238 #       4. Calculate all the files and attribute files cksum
 239 #       5. Verify all the cksum are identical
 240 #
 241 # TESTABILITY: explicit
 242 #
 243 # TEST_AUTOMATION_LEVEL: automated
 244 #
 245 # CODING_STATUS: COMPLETED (2006-06-01)
 246 #
 247 # __stc_assertion_end
 248 #
 249 ################################################################################
 250 #
 251 # __stc_assertion_start
 252 #
 253 # ID: acl_pack_pos001
 254 #
 255 # DESCRIPTION:
 256 #       Verifies that pack will keep file attribute intact afterthe file is
 257 #       packed and unpacked.
 258 #
 259 # STRATEGY:
 260 #       1. In directory A, create several files and add attribute files for them
 261 #       2. Save all files and their attribute files cksum value, then pack
 262 #          all the files.
 263 #       3. Move them to another directory B.
 264 #       4. Unpack them and calculate all the files and attribute files cksum
 265 #       5. Verify all the cksum are identical
 266 #       
 267 # TESTABILITY: explicit
 268 #
 269 # TEST_AUTOMATION_LEVEL: automated
 270 #
 271 # __stc_assertion_end
 272 #
 273 ################################################################################
 274 #
 275 # __stc_assertion_start
 276 #
 277 # ID: acl_pax_pos001
 278 #
 279 # DESCRIPTION:
 280 #       Verify directories include attribute in pax archive and restore with pax
 281 #       should succeed.
 282 #
 283 # STRATEGY:
 284 #       1. Use mktree create a set of directories in directory A.
 285 #       2. Enter into directory A and record all directory information.
 286 #       3. pax all the files to directory B.
 287 #       4. Then pax the pax file to directory C.
 288 #       5. Record all the directories informat in derectory C.
 289 #       6. Verify the two records should be identical.
 290 #
 291 # TESTABILITY: explicit
 292 #
 293 # TEST_AUTOMATION_LEVEL: automated
 294 #
 295 # CODING_STATUS: COMPLETED (2006-06-01)
 296 #
 297 # __stc_assertion_end
 298 #
 299 ################################################################################
 300 #
 301 # __stc_assertion_start
 302 #
 303 # ID: acl_pax_pos002
 304 #
 305 # DESCRIPTION:
 306 #       Verify directories which include attribute in pax archive and restore 
 307 #       with tar should succeed.
 308 #
 309 # STRATEGY:
 310 #       1. Use mktree create a set of directories in directory A.
 311 #       2. Enter into directory A and record all directory information.
 312 #       3. pax all the files to directory B.
 313 #       4. Then tar the pax file to directory C.
 314 #       5. Record all the directories informat in derectory C.
 315 #       6. Verify the two records should be identical.
 316 #
 317 # TESTABILITY: explicit
 318 #
 319 # TEST_AUTOMATION_LEVEL: automated
 320 #
 321 # __stc_assertion_end
 322 #
 323 ################################################################################
 324 #
 325 # __stc_assertion_start
 326 #
 327 # ID: acl_pax_pos003
 328 #
 329 # DESCRIPTION:
 330 #       Verify directories which include attribute in pax archive and restore
 331 #       with cpio should succeed.
 332 #
 333 # STRATEGY:
 334 #       1. Create several files in directory A.
 335 #       2. Enter into directory A and record all directory cksum.
 336 #       3. pax all the files to directory B.
 337 #       4. Then cpio the pax file to directory C.
 338 #       5. Record all the files cksum in derectory C.
 339 #       6. Verify the two records should be identical.
 340 #
 341 # TESTABILITY: explicit
 342 #
 343 # TEST_AUTOMATION_LEVEL: automated
 344 #
 345 # __stc_assertion_end
 346 #
 347 ################################################################################
 348 #
 349 # __stc_assertion_start
 350 #
 351 # ID: acl_pax_pos004
 352 #
 353 # DESCRIPTION:
 354 #       Verify files include attribute in pax archive and restore with pax
 355 #       should succeed.
 356 #
 357 # STRATEGY:
 358 #       1. Create several files which contains contribute files in directory A.
 359 #       2. Enter into directory A and record all files cksum.
 360 #       3. pax all the files to directory B.
 361 #       4. Then pax the pax file to directory C.
 362 #       5. Record all the files cksum in derectory C.
 363 #       6. Verify the two records should be identical.
 364 #
 365 # TESTABILITY: explicit
 366 #
 367 # TEST_AUTOMATION_LEVEL: automated
 368 #
 369 # __stc_assertion_end
 370 #
 371 ################################################################################
 372 #
 373 # __stc_assertion_start
 374 #
 375 # ID: acl_pax_pos005
 376 #
 377 # DESCRIPTION:
 378 #       Verify files include attribute in cpio archive and restore with cpio
 379 #       should succeed.
 380 #
 381 # STRATEGY:
 382 #       1. Create several files which contains contribute files in directory A.
 383 #       2. Enter into directory A and record all files cksum.
 384 #       3. pax all the files to directory B.
 385 #       4. Then pax the pax file to directory C.
 386 #       5. Record all the files cksum in derectory C.
 387 #       6. Verify the two records should be identical.
 388 #
 389 # TESTABILITY: explicit
 390 #
 391 # TEST_AUTOMATION_LEVEL: automated
 392 #
 393 # __stc_assertion_end
 394 #
 395 ################################################################################
 396 #
 397 # __stc_assertion_start
 398 #
 399 # ID: acl_pax_pos006
 400 #
 401 # DESCRIPTION:
 402 #       Verify files include attribute in tar archive and restore with tar
 403 #       should succeed.
 404 #
 405 # STRATEGY:
 406 #       1. Create several files which contains contribute files in directory A.
 407 #       2. Enter into directory A and record all files cksum.
 408 #       3. 'pax ustar' all the files to directory B.
 409 #       4. Then 'pax ustar' the pax file to directory C.
 410 #       5. Record all the files cksum in derectory C.
 411 #       6. Verify the two records should be identical.
 412 #
 413 # TESTABILITY: explicit
 414 #
 415 # TEST_AUTOMATION_LEVEL: automated
 416 #
 417 # __stc_assertion_end
 418 #
 419 ################################################################################
 420 #
 421 # __stc_assertion_start
 422 #
 423 # ID: acl_tar_neg001
 424 #
 425 # DESCRIPTION:
 426 #       Verifies that tar will not include files attribute when @ flag is not
 427 #       present.
 428 #
 429 # STRATEGY:
 430 #       1. Create several files with attribute files.
 431 #       2. Enter into directory A and record all files cksum
 432 #       3. tar all the files to directory B.
 433 #       4. Then tar the tar file to directory C.
 434 #       5. Record all the files cksum in derectory C.
 435 #       6. Verify the two records should be not identical.
 436 #
 437 # TESTABILITY: explicit
 438 #
 439 # TEST_AUTOMATION_LEVEL: automated
 440 #
 441 # __stc_assertion_end
 442 #
 443 ################################################################################
 444 #
 445 # __stc_assertion_start
 446 #
 447 # ID: acl_tar_pos001
 448 #
 449 # DESCRIPTION:
 450 #       Verifies that tar will include file attribute when @ flag is present.
 451 #
 452 # STRATEGY:
 453 #       1. Use mktree create a set of directories in directory A.
 454 #       2. Enter into directory A and record all directory information.
 455 #       3. tar all the files to directory B.
 456 #       4. Then tar the tar file to directory C.
 457 #       5. Record all the directories informat in derectory C.
 458 #       6. Verify the two records should be identical.
 459 #
 460 # TESTABILITY: explicit
 461 #
 462 # TEST_AUTOMATION_LEVEL: automated
 463 #
 464 # __stc_assertion_end
 465 #
 466 ################################################################################
 467 #
 468 # __stc_assertion_start
 469 #
 470 # ID: acl_chmod_compact_pos001
 471 #
 472 # DESCRIPTION:
 473 #       chmod A{+|-|=} could set compact ACL correctly.
 474 #
 475 # STRATEGY:
 476 #       1. Loop root and non-root user.
 477 #       2. Get the random compact ACL string.
 478 #       4. Separately chmod +|-|=
 479 #       5. Check compact ACL display as expected 
 480 #
 481 # TESTABILITY: explicit
 482 #
 483 # TEST_AUTOMATION_LEVEL: automated
 484 #
 485 # CODING_STATUS: COMPLETED (2006-08-11)
 486 #
 487 # __stc_assertion_end
 488 #
 489 ################################################################################
 490 #
 491 # __stc_assertion_start
 492 #
 493 # ID: acl_chmod_delete_pos001
 494 #
 495 # DESCRIPTION:
 496 #       Verify that the combined delete_child/delete permission for 
 497 #       owner/group/everyone are correct.
 498 #
 499 #        -------------------------------------------------------
 500 #        |   Parent Dir  |           Target Object Permissions |
 501 #        |  permissions  |                                     |
 502 #        -------------------------------------------------------
 503 #        |               | ACL Allows | ACL Denies| Delete     |
 504 #        |               |  Delete    |  Delete   | unspecified|
 505 #        -------------------------------------------------------
 506 #        |  ACL Allows   | Permit     | Permit    | Permit     |
 507 #        |  DELETE_CHILD |                                     |
 508 #        -------------------------------------------------------
 509 #        |  ACL Denies   | Permit     | Deny      | Deny       |
 510 #        |  DELETE_CHILD |            |           |            |
 511 #        -------------------------------------------------------
 512 #        | ACL specifies |            |           |            |
 513 #        | only allows   | Permit     | Permit    | Permit     |
 514 #        | write and     |            |           |            |
 515 #        | execute       |            |           |            |
 516 #        -------------------------------------------------------
 517 #        | ACL denies    |            |           |            |
 518 #        | write and     | Permit     | Deny      | Deny       |
 519 #        | execute       |            |           |            |
 520 #        ------------------------------------------------------- 
 521 #
 522 # STRATEGY:
 523 # 1. Create file and  directory in nfs filesystem
 524 # 2. Set special ACE combination to the file and directory
 525 # 3. Try to remove the file
 526 # 4. Verify that combined permissions for owner/group/everyone are correct.
 527 #
 528 # TESTABILITY: explicit
 529 #
 530 # TEST_AUTOMATION_LEVEL: automated
 531 #
 532 # __stc_assertion_end
 533 #
 534 ################################################################################
 535 #
 536 # __stc_assertion_start
 537 #
 538 # ID: acl_chmod_inherit_pos001
 539 #
 540 # DESCRIPTION:
 541 #       Verify chmod have correct behaviour to directory and file when setting
 542 #       different inherit strategy to them.
 543 #       
 544 # STRATEGY:
 545 #       1. Loop super user and non-super user to run the test case.
 546 #       2. Create basedir and a set of subdirectores and files within it.
 547 #       3. Separately chmod basedir with different inherite options.
 548 #       4. Then create nested directories and files like the following.
 549 #       
 550 #                                                   _ odir4
 551 #                                                  |_ ofile4
 552 #                                         _ odir3 _|
 553 #                                        |_ ofile3
 554 #                               _ odir1 _|
 555 #                              |_ ofile2
 556 #                     basefile |
 557 #          chmod -->  basedir -| 
 558 #                              |_ nfile1
 559 #                              |_ ndir1 _ 
 560 #                                        |_ nfile2
 561 #                                        |_ ndir2 _
 562 #                                                  |_ nfile3
 563 #                                                  |_ ndir3
 564 #
 565 #       5. Verify each directories and files have the correct access control
 566 #          capability.
 567 #       
 568 # TESTABILITY: explicit
 569 #
 570 # TEST_AUTOMATION_LEVEL: automated
 571 #
 572 # __stc_assertion_end
 573 #
 574 ################################################################################
 575 #
 576 # __stc_assertion_start
 577 #
 578 # ID: acl_chmod_neg001
 579 #
 580 # DESCRIPTION:
 581 #       Verify  1) Illegal options to chmod should fail.
 582 #               2) Delete all the ACE will lead to fail.
 583 #               3) Add ACE exceed 1024 will cause to fail.
 584 #
 585 # STRATEGY:
 586 #       1. Loop root and non-root users
 587 #       2. Verify all kinds of illegal option will lead to chmod failed.
 588 #       3. Verify 'chmod A0-' will fail when try to delete all the ACE.
 589 #       4. Verify 'chmod A+' will succeed when the ACE number exceed 1024.
 590 #
 591 # TESTABILITY: explicit
 592 #
 593 # TEST_AUTOMATION_LEVEL: automated
 594 #
 595 # __stc_assertion_end
 596 #
 597 ################################################################################
 598 #
 599 # __stc_assertion_start
 600 #
 601 # ID: acl_chmod_rwacl_pos001
 602 #
 603 # DESCRIPTION:
 604 #       Verify assigned read_acl/write_acl to owner@/group@/everyone@,
 605 #       specificied user and group. File have the correct access permission.
 606 #
 607 # STRATEGY:
 608 #       1. Separatedly verify file and directory was assigned read_acl/write_acl
 609 #          by root and non-root user.
 610 #       2. Verify owner always can read and write acl, even deny.
 611 #       3. Verify group access permission, when group was assigned 
 612 #          read_acl/write_acl.
 613 #       4. Verify access permission, after everyone was assigned read_acl/write.
 614 #       5. Verify everyone@ was deny except specificied user, this user can read
 615 #          and write acl.
 616 #       6. Verify the group was deny except specified user, this user can read
 617 #          and write acl
 618 #
 619 # TESTABILITY: explicit
 620 #
 621 # TEST_AUTOMATION_LEVEL: automated
 622 #
 623 # __stc_assertion_end
 624 #
 625 ################################################################################
 626 #
 627 # __stc_assertion_start
 628 #
 629 # ID: acl_chmod_rwx_pos001
 630 #
 631 # DESCRIPTION:
 632 #       chmod A{+|-|=} have the correct behaviour to the ACL list.      
 633 #
 634 # STRATEGY:
 635 #       1. loop check root and non-root users
 636 #       2. chmod file or dir with specified options
 637 #       3. get ACE after behaviours of chmod
 638 #       4. compare specified ACE and excpect ACE
 639 #
 640 # TESTABILITY: explicit
 641 #
 642 # TEST_AUTOMATION_LEVEL: automated
 643 #
 644 # __stc_assertion_end
 645 #
 646 ################################################################################
 647 #
 648 # __stc_assertion_start
 649 #
 650 # ID: acl_chmod_rwx_pos002
 651 #
 652 # DESCRIPTION:
 653 #       chmod A{+|-|=} read_data|write_data|execute for owner@ group@ or everyone@
 654 #       correctly alters mode bits .
 655 #
 656 # STRATEGY:
 657 #       1. Loop root and non-root user.
 658 #       2. Get the random initial map.
 659 #       3. Get the random ACL string.
 660 #       4. Separately chmod +|-|= read_data|write_data|execute
 661 #       5. Check map bits 
 662 #
 663 # TESTABILITY: explicit
 664 #
 665 # TEST_AUTOMATION_LEVEL: automated
 666 #
 667 # __stc_assertion_end
 668 #
 669 ################################################################################
 670 #
 671 # __stc_assertion_start
 672 #
 673 # ID: acl_chmod_rwx_pos003
 674 #
 675 # DESCRIPTION:
 676 #       Verify that the read_data/write_data/execute permission for 
 677 #       owner/group/everyone are correct.
 678 #
 679 # STRATEGY:
 680 #       1. Loop root and non-root user.
 681 #       2. Separated verify type@:access:allow|deny to file and directory
 682 #       3. To super user, read and write deny was override.
 683 #       4. According to ACE list and override rule, expect that 
 684 #          read/write/execute file or directory succeed or fail.
 685 #
 686 # TESTABILITY: explicit
 687 #
 688 # TEST_AUTOMATION_LEVEL: automated
 689 #
 690 # __stc_assertion_end
 691 #
 692 ################################################################################
 693 #
 694 # __stc_assertion_start
 695 #
 696 # ID: acl_chmod_rwx_pos004
 697 #
 698 # DESCRIPTION:
 699 #       Verify that explicit ACL setting to specified user or group will
 700 #       override existed access rule.
 701 #
 702 # STRATEGY:
 703 #       1. Loop root and non-root user.
 704 #       2. Loop the specified access one by one.
 705 #       3. Loop verify explicit ACL set to specified user and group.
 706 #
 707 # TESTABILITY: explicit
 708 #
 709 # TEST_AUTOMATION_LEVEL: automated
 710 #
 711 # __stc_assertion_end
 712 #
 713 ################################################################################
 714 #
 715 # __stc_assertion_start
 716 #
 717 # ID: acl_chmod_xattr_pos001
 718 #
 719 # DESCRIPTION:
 720 #       Verify that the read_xattr/write_xattr for 
 721 #       owner/group/everyone are correct.
 722 #
 723 # STRATEGY:
 724 # 1. Create file and  directory in nfs filesystem
 725 # 2. Set special read_xattr ACE to the file and directory
 726 # 3. Try to list the extended attributes of the file and directory
 727 # 4. Set special write_xattr ACE to the file and directory
 728 # 5. Try to add new extended attributes to the file and directory
 729 # 6. Verify above operation is successful.
 730 #
 731 # TESTABILITY: explicit
 732 #
 733 # TEST_AUTOMATION_LEVEL: automated
 734 #
 735 # __stc_assertion_end
 736 #
 737 ################################################################################
 738 #
 739 # __stc_assertion_start
 740 #
 741 # ID: acl_chmod_xattr_pos002
 742 #
 743 # DESCRIPTION:
 744 #       Verify that the write_xattr for remove the extended attributes of
 745 #       owner/group/everyone are correct.
 746 #
 747 # STRATEGY:
 748 # 1. Create file and  directory in nfs filesystem
 749 # 2. Set special write_xattr ACE to the file and directory
 750 # 3. Try to remove the extended attributes of the file and directory
 751 # 4. Verify above operation is successful.
 752 #
 753 # TESTABILITY: explicit
 754 #
 755 # TEST_AUTOMATION_LEVEL: automated
 756 #
 757 # __stc_assertion_end
 758 #
 759 ################################################################################
 760 #
 761 # __stc_assertion_start
 762 #
 763 # ID: acl_cp_pos001
 764 #
 765 # DESCRIPTION:
 766 #       Verify that '/usr/bin/cp [-p]' supports ACL
 767 #
 768 # STRATEGY:
 769 #       1. Create file and  directory in nfs filesystem
 770 #       2. Set special ACE to the file and directory
 771 #       3. Copy the file/directory to another directory
 772 #       4. Verify that the ACL of file/directroy is not changed, when you are
 773 #          inserting an ACL with a user: or group: entry on the top.
 774 #          (abstractions entry are treated special, since they represent the 
 775 #          traditional permission bit mapping.)
 776 #
 777 # TESTABILITY: explicit
 778 #
 779 # TEST_AUTOMATION_LEVEL: automated
 780 #
 781 # __stc_assertion_end
 782 #
 783 ################################################################################
 784 #
 785 # __stc_assertion_start
 786 #
 787 # ID: acl_cp_pos002
 788 #
 789 # DESCRIPTION:
 790 #       Verify that '/usr/bin/cp [-p@]' supports ACL & xattrs
 791 #
 792 # STRATEGY:
 793 #       1. Create file and  directory in nfs filesystem
 794 #       2. Set special ACE to the file and directory
 795 #       3. Create xattr of the file and directory
 796 #       4. Copy the file/directory to another directory.
 797 #       5. Verify that the ACL & xattrs of the file/directroy is not changed, 
 798 #          when you are inserting an ACL with user: or group: entry on the top.
 799 #          (abstractions entry are treated special, since they represent the 
 800 #          traditional permission bit mapping.)
 801 #
 802 # TESTABILITY: explicit
 803 #
 804 # TEST_AUTOMATION_LEVEL: automated
 805 #
 806 # __stc_assertion_end
 807 #
 808 ################################################################################
 809 #
 810 # __stc_assertion_start
 811 #
 812 # ID: acl_cpio_pos001
 813 #
 814 # DESCRIPTION:
 815 # Verify that '$CPIO' command with -P option supports to archive ZFS ACLs
 816 #
 817 # STRATEGY:
 818 # 1. Create file and directory in nfs filesystem
 819 # 2. Add new ACE in ACL or change mode of file and directory
 820 # 3. Use $CPIO to archive file and directory
 821 # 4. Extract the archive file
 822 # 5. Verify that the restored ACLs of file and directory identify
 823 #    with the origional ones. 
 824 #
 825 # TESTABILITY: explicit
 826 #
 827 # TEST_AUTOMATION_LEVEL: automated
 828 #
 829 # __stc_assertion_end
 830 #
 831 ################################################################################
 832 #
 833 # __stc_assertion_start
 834 #
 835 # ID: acl_cpio_pos002
 836 #
 837 # DESCRIPTION:
 838 # Verify that '$CPIO' command with -P@ option supports to archive ZFS ACLs
 839 #
 840 # STRATEGY:
 841 # 1. Create file and directory in nfs filesystem
 842 # 2. Add new ACE in ACL or change mode of file and directory
 843 # 3. Create xattr of the file and directory
 844 # 4. Use $CPIO to archive file and directory
 845 # 5. Extract the archive file
 846 # 6. Verify that the restored ACLs of file and directory identify
 847 #    with the origional ones. 
 848 #
 849 # TESTABILITY: explicit
 850 #
 851 # TEST_AUTOMATION_LEVEL: automated
 852 #
 853 # __stc_assertion_end
 854 #
 855 ################################################################################
 856 #
 857 # __stc_assertion_start
 858 #
 859 # ID: acl_find_pos001
 860 #
 861 # DESCRIPTION:
 862 # Verify that '$FIND' command with '-ls' and '-acl' options supports NFSv4 ACL 
 863 #
 864 # STRATEGY:
 865 # 1. Create 5 files and 5 directories in nfs filesystem
 866 # 2. Select a file or directory and add a few ACEs to it 
 867 # 3. Use $FIND -ls to check the "+" existen only with the selected file or 
 868 #    directory
 869 # 4. Use $FIND -acl to check only the selected file/directory in the list
 870 #
 871 # TESTABILITY: explicit
 872 #
 873 # TEST_AUTOMATION_LEVEL: automated
 874 #
 875 # __stc_assertion_end
 876 #
 877 ################################################################################
 878 #
 879 # __stc_assertion_start
 880 #
 881 # ID: acl_ls_pos001
 882 #
 883 # DESCRIPTION:
 884 # Verify that '/usr/bin/ls' command option supports NFSv4 ACL 
 885 #
 886 # STRATEGY:
 887 # 1. Create file and  directory in nfs filesystem
 888 # 2. Verify that 'ls [-dv]' can list the ACEs of ACL of 
 889 #    file/directroy
 890 # 3. Change the file/directory's acl
 891 # 4. Verify that 'ls -l' can use the '+' to indicate the non-trivial
 892 #    acl. 
 893 #
 894 # TESTABILITY: explicit
 895 #
 896 # TEST_AUTOMATION_LEVEL: automated
 897 #
 898 # __stc_assertion_end
 899 #
 900 ################################################################################
 901 #
 902 # __stc_assertion_start
 903 #
 904 # ID: acl_mv_pos001
 905 #
 906 # DESCRIPTION:
 907 # Verify that '/usr/bin/mv' supports NFSv4 ACL
 908 #
 909 # STRATEGY:
 910 # 1. Create file and  directory in nfs filesystem
 911 # 2. Set special ACE to the file and directory
 912 # 3. Copy the file/directory to another directory
 913 # 4. Verify that the ACL of file/directroy is not changed
 914 #
 915 # TESTABILITY: explicit
 916 #
 917 # TEST_AUTOMATION_LEVEL: automated
 918 #
 919 # __stc_assertion_end
 920 #
 921 ################################################################################
 922 #
 923 # __stc_assertion_start
 924 #
 925 # ID: acl_tar_pos001
 926 #
 927 # DESCRIPTION:
 928 # Verify that '$TAR' command with -p option supports to archive NFSv4 ACLs
 929 #
 930 # STRATEGY:
 931 # 1. Create file and directory in nfs filesystem
 932 # 2. Add new ACE in ACL of file and directory
 933 # 3. Use $TAR to archive file and directory
 934 # 4. Extract the archive file
 935 # 5. Verify that the restored ACLs of file and directory identify
 936 #    with the origional ones. 
 937 #
 938 # TESTABILITY: explicit
 939 #
 940 # TEST_AUTOMATION_LEVEL: automated
 941 #
 942 # __stc_assertion_end
 943 #
 944 ################################################################################
 945 #
 946 # __stc_assertion_start
 947 #
 948 # ID: acl_tar_pos002
 949 #
 950 # DESCRIPTION:
 951 # Verify that '$TAR' command with -p@ option supports to archive NFSv4 ACLs 
 952 #       & xattrs
 953 #
 954 # STRATEGY:
 955 # 1. Create file and directory in nfs filesystem
 956 # 2. Add new ACE in ACL of file and directory
 957 # 3. Create xattr of the file and directory
 958 # 4. Use $TAR cf@ to archive file and directory
 959 # 5. Use $TAR xf@ to extract the archive file
 960 # 6. Verify that the restored ACLs & xttrs of file and directory identify
 961 #    with the origional ones. 
 962 #
 963 # TESTABILITY: explicit
 964 #
 965 # TEST_AUTOMATION_LEVEL: automated
 966 #
 967 # __stc_assertion_end
 968 #
 969 ################################################################################
 970 
 971 
 972 
 973 
 974 
 975 
 976 
 977 
 978 
 979 
 980 
 981 
 982 
 983 
 984 
 985 
 986 
 987 
 988 
 989 
 990 
 991 
 992