/tests/sys/cddl/zfs/tests/delegate/zfs_unallow_008_neg.ksh

https://bitbucket.org/freebsd/freebsd-base · Korn Shell · 88 lines · 25 code · 13 blank · 50 comment · 2 complexity · cab05d286cda5e4772099807855e1f86 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. # $FreeBSD$
  23. #
  24. # Copyright 2007 Sun Microsystems, Inc. All rights reserved.
  25. # Use is subject to license terms.
  26. #
  27. # ident "@(#)zfs_unallow_008_neg.ksh 1.1 07/01/09 SMI"
  28. #
  29. . $STF_SUITE/tests/delegate/delegate_common.kshlib
  30. #################################################################################
  31. #
  32. # __stc_assertion_start
  33. #
  34. # ID: zfs_unallow_008_neg
  35. #
  36. # DESCRIPTION:
  37. # zfs unallow can handle invalid arguments.
  38. #
  39. # STRATEGY:
  40. # 1. Set up basic test environment.
  41. # 2. Verify zfs unallow handle invalid arguments correctly.
  42. #
  43. # TESTABILITY: explicit
  44. #
  45. # TEST_AUTOMATION_LEVEL: automated
  46. #
  47. # CODING_STATUS: COMPLETED (2006-09-30)
  48. #
  49. # __stc_assertion_end
  50. #
  51. ################################################################################
  52. verify_runnable "both"
  53. log_assert "zfs unallow can handle invalid arguments."
  54. log_onexit restore_root_datasets
  55. function neg_test
  56. {
  57. log_mustnot eval "$@ > /dev/null 2>&1"
  58. }
  59. set -A badopts "everyone -e" "everyone -u $STAFF1" "everyone everyone" \
  60. "-c -l" "-c -d" "-c -e" "-c -s" "-r" \
  61. "-u -e" "-s -e" "-s -l -d" "-s @non-exist-set -l" \
  62. "-s @non-existen-set -d" "-s @non-existen-set -e" \
  63. "-r -u $STAFF1 $STAFF1" "-u $STAFF1 -g $STAFF_GROUP" \
  64. "-u $STAFF1 -e"
  65. log_must setup_unallow_testenv
  66. for dtst in $DATASETS ; do
  67. log_must $ZFS allow -c create $dtst
  68. typeset -i i=0
  69. while ((i < ${#badopts[@]})); do
  70. neg_test $ZFS unallow ${badopts[$i]} $dtst
  71. ((i += 1))
  72. done
  73. neg_test user_run $STAFF1 $ZFS unallow $dtst
  74. done
  75. log_pass "zfs unallow can handle invalid arguments passed."