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 . $STF_SUITE/include/libtest.shlib
28
29 #
30 # Create a file or direcotry
31 #
32 # $1: The type specified, "file" or "dir"
33 # $2: The given node name
34 # $3: Owner of the node
35 #
36 function create_object
37 {
38 typeset type=$1
39 typeset object=$2
40 typeset owner=$3
41
42 destroy_object $object
43
44 case $type in
45 dir)
46 $MKDIR -p $object
47 ;;
48 file)
49 $ECHO "ZFS test suites" > $object
50 ;;
51 esac
52
53 if [[ -n $owner ]]; then
54 $CHOWN $owner $object
55 fi
56 return 0
57 }
58
59 #
60 # Destroy the given node(s)
61 #
62 # $@: The node(s) need to be destroyed
63 #
64 function destroy_object
65 {
66 for object in $@ ; do
67 if [[ -e $object ]]; then
68
69 # clear_attribute is a common function name,
70 # but each case should have their own implement.
71 log_must clear_attribute $object
72 log_must $RM -rf $object
73 fi
74 done
75 return 0
76 }