1*d583b39bSJohn Wren Kennedy#!/bin/ksh -p
2*d583b39bSJohn Wren Kennedy#
3*d583b39bSJohn Wren Kennedy# CDDL HEADER START
4*d583b39bSJohn Wren Kennedy#
5*d583b39bSJohn Wren Kennedy# The contents of this file are subject to the terms of the
6*d583b39bSJohn Wren Kennedy# Common Development and Distribution License (the "License").
7*d583b39bSJohn Wren Kennedy# You may not use this file except in compliance with the License.
8*d583b39bSJohn Wren Kennedy#
9*d583b39bSJohn Wren Kennedy# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*d583b39bSJohn Wren Kennedy# or http://www.opensolaris.org/os/licensing.
11*d583b39bSJohn Wren Kennedy# See the License for the specific language governing permissions
12*d583b39bSJohn Wren Kennedy# and limitations under the License.
13*d583b39bSJohn Wren Kennedy#
14*d583b39bSJohn Wren Kennedy# When distributing Covered Code, include this CDDL HEADER in each
15*d583b39bSJohn Wren Kennedy# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*d583b39bSJohn Wren Kennedy# If applicable, add the following below this CDDL HEADER, with the
17*d583b39bSJohn Wren Kennedy# fields enclosed by brackets "[]" replaced with your own identifying
18*d583b39bSJohn Wren Kennedy# information: Portions Copyright [yyyy] [name of copyright owner]
19*d583b39bSJohn Wren Kennedy#
20*d583b39bSJohn Wren Kennedy# CDDL HEADER END
21*d583b39bSJohn Wren Kennedy#
22*d583b39bSJohn Wren Kennedy
23*d583b39bSJohn Wren Kennedy#
24*d583b39bSJohn Wren Kennedy# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
25*d583b39bSJohn Wren Kennedy# Use is subject to license terms.
26*d583b39bSJohn Wren Kennedy#
27*d583b39bSJohn Wren Kennedy
28*d583b39bSJohn Wren Kennedy. $STF_SUITE/tests/functional/acl/acl_common.kshlib
29*d583b39bSJohn Wren Kennedy
30*d583b39bSJohn Wren Kennedy#
31*d583b39bSJohn Wren Kennedy# DESCRIPTION:
32*d583b39bSJohn Wren Kennedy#	Verifies that cp will not include file attribute when the -@ flag is not
33*d583b39bSJohn Wren Kennedy#	present.
34*d583b39bSJohn Wren Kennedy#
35*d583b39bSJohn Wren Kennedy# STRATEGY:
36*d583b39bSJohn Wren Kennedy#	1. In directory A, create several files and add attribute files for them
37*d583b39bSJohn Wren Kennedy#	2. Implement cp to files without '-@'
38*d583b39bSJohn Wren Kennedy#	3. Verify attribute files will not include file attribute
39*d583b39bSJohn Wren Kennedy#
40*d583b39bSJohn Wren Kennedy
41*d583b39bSJohn Wren Kennedyverify_runnable "both"
42*d583b39bSJohn Wren Kennedy
43*d583b39bSJohn Wren Kennedylog_assert "Verifies that cp will not include file attribute when the -@ flag "\
44*d583b39bSJohn Wren Kennedy	"is not present."
45*d583b39bSJohn Wren Kennedylog_onexit cleanup
46*d583b39bSJohn Wren Kennedy
47*d583b39bSJohn Wren Kennedyfor user in root $ZFS_ACL_STAFF1; do
48*d583b39bSJohn Wren Kennedy	log_must set_cur_usr $user
49*d583b39bSJohn Wren Kennedy
50*d583b39bSJohn Wren Kennedy	log_must create_files $TESTDIR
51*d583b39bSJohn Wren Kennedy
52*d583b39bSJohn Wren Kennedy	initfiles=$($LS -R $INI_DIR/*)
53*d583b39bSJohn Wren Kennedy	typeset -i i=0
54*d583b39bSJohn Wren Kennedy	while (( i < NUM_FILE )); do
55*d583b39bSJohn Wren Kennedy		typeset f=$(getitem $i $initfiles)
56*d583b39bSJohn Wren Kennedy		usr_exec $CP $f $TST_DIR
57*d583b39bSJohn Wren Kennedy
58*d583b39bSJohn Wren Kennedy		testfiles=$($LS -R $TST_DIR/*)
59*d583b39bSJohn Wren Kennedy		tf=$(getitem $i $testfiles)
60*d583b39bSJohn Wren Kennedy		ls_attr=$($LS -@ $tf | $AWK '{print substr($1, 11, 1)}')
61*d583b39bSJohn Wren Kennedy		if [[ $ls_attr == "@" ]]; then
62*d583b39bSJohn Wren Kennedy			log_fail "cp of attribute should fail without " \
63*d583b39bSJohn Wren Kennedy				"-@ or -p option"
64*d583b39bSJohn Wren Kennedy		fi
65*d583b39bSJohn Wren Kennedy
66*d583b39bSJohn Wren Kennedy		(( i += 1 ))
67*d583b39bSJohn Wren Kennedy	done
68*d583b39bSJohn Wren Kennedy
69*d583b39bSJohn Wren Kennedy	log_must cleanup
70*d583b39bSJohn Wren Kennedydone
71*d583b39bSJohn Wren Kennedy
72*d583b39bSJohn Wren Kennedylog_pass "'cp' won't include file attribute passed."
73