/tests/sys/cddl/zfs/tests/xattr/xattr_009_neg.ksh

https://bitbucket.org/freebsd/freebsd-base · Korn Shell · 78 lines · 13 code · 12 blank · 53 comment · 0 complexity · 227807b9ae9af4ff68f952bf60f688d3 MD5 · raw file

  1. #!/usr/local/bin/ksh93 -p
  2. #
  3. # CDDL HEADER START
  4. #
  5. # The contents of this file are subject to the terms of the
  6. # Common Development and Distribution License (the "License").
  7. # You may not use this file except in compliance with the License.
  8. #
  9. # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10. # or http://www.opensolaris.org/os/licensing.
  11. # See the License for the specific language governing permissions
  12. # and limitations under the License.
  13. #
  14. # When distributing Covered Code, include this CDDL HEADER in each
  15. # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16. # If applicable, add the following below this CDDL HEADER, with the
  17. # fields enclosed by brackets "[]" replaced with your own identifying
  18. # information: Portions Copyright [yyyy] [name of copyright owner]
  19. #
  20. # CDDL HEADER END
  21. #
  22. # Copyright 2007 Sun Microsystems, Inc. All rights reserved.
  23. # Use is subject to license terms.
  24. #
  25. # ident "@(#)xattr_009_neg.ksh 1.1 07/02/06 SMI"
  26. #
  27. # $FreeBSD$
  28. . $STF_SUITE/include/libtest.kshlib
  29. . $STF_SUITE/tests/xattr/xattr_common.kshlib
  30. ################################################################################
  31. #
  32. # __stc_assertion_start
  33. #
  34. # ID: xattr_009_neg
  35. #
  36. # DESCRIPTION:
  37. # links between xattr and normal file namespace fail
  38. #
  39. # STRATEGY:
  40. # 1. Create a file and add an xattr to it (to ensure the namespace exists)
  41. # 2. Verify we're unable to create a symbolic link
  42. # 3. Verify we're unable to create a hard link
  43. #
  44. # TESTABILITY: explicit
  45. #
  46. # TEST_AUTOMATION_LEVEL: automated
  47. #
  48. # CODING_STATUS: COMPLETED (2006-12-13)
  49. #
  50. # __stc_assertion_end
  51. #
  52. ################################################################################
  53. function cleanup {
  54. log_must $RM $TESTDIR/myfile.${TESTCASE_ID}
  55. }
  56. log_assert "links between xattr and normal file namespace fail"
  57. log_onexit cleanup
  58. test_requires RUNAT
  59. # create a file, and an xattr on it
  60. log_must $TOUCH $TESTDIR/myfile.${TESTCASE_ID}
  61. create_xattr $TESTDIR/myfile.${TESTCASE_ID} passwd /etc/passwd
  62. # Try to create a soft link from the xattr namespace to the default namespace
  63. log_mustnot $RUNAT $TESTDIR/myfile.${TESTCASE_ID} $LN -s /etc/passwd foo
  64. # Try to create a hard link from the xattr namespace to the default namespace
  65. log_mustnot $RUNAT $TESTDIR/myfile.${TESTCASE_ID} $LN /etc/passwd foo
  66. log_pass "links between xattr and normal file namespace fail"