1271294Sngie#!/bin/sh 2271294Sngie# $FreeBSD: head/tools/regression/pjdfstest/tests/chown/08.t 211352 2010-08-15 21:24:17Z pjd $ 3271294Sngie 4271294Sngiedesc="chown returns EPERM if the named file has its immutable or append-only flag set" 5271294Sngie 6271294Sngiedir=`dirname $0` 7271294Sngie. ${dir}/../misc.sh 8271294Sngie 9271294Sngierequire chflags 10271294Sngie 11271294Sngiecase "${os}:${fs}" in 12271294SngieFreeBSD:ZFS) 13271294Sngie echo "1..20" 14271294Sngie ;; 15271294SngieFreeBSD:UFS) 16271294Sngie echo "1..44" 17271294Sngie ;; 18271294Sngie*) 19271294Sngie quick_exit 20271294Sngieesac 21271294Sngie 22271294Sngien0=`namegen` 23271294Sngie 24271294Sngieexpect 0 create ${n0} 0644 25271294Sngieexpect 0 chflags ${n0} SF_IMMUTABLE 26271294Sngieexpect EPERM chown ${n0} 65534 65534 27271294Sngieexpect 0,0 stat ${n0} uid,gid 28271294Sngieexpect 0 chflags ${n0} none 29271294Sngieexpect 0 chown ${n0} 65534 65534 30271294Sngieexpect 65534,65534 stat ${n0} uid,gid 31271294Sngieexpect 0 unlink ${n0} 32271294Sngie 33271294Sngieexpect 0 create ${n0} 0644 34271294Sngieexpect 0 chflags ${n0} SF_NOUNLINK 35271294Sngieexpect 0 chown ${n0} 65534 65534 36271294Sngieexpect 65534,65534 stat ${n0} uid,gid 37271294Sngieexpect 0 chflags ${n0} none 38271294Sngieexpect 0 unlink ${n0} 39271294Sngie 40271294Sngiecase "${os}:${fs}" in 41271294SngieFreeBSD:ZFS) 42271294Sngie expect 0 create ${n0} 0644 43271294Sngie expect 0 chflags ${n0} SF_APPEND 44271294Sngie expect 0 chown ${n0} 65534 65534 45271294Sngie expect 65534,65534 stat ${n0} uid,gid 46271294Sngie expect 0 chflags ${n0} none 47271294Sngie expect 0 unlink ${n0} 48271294Sngie ;; 49271294SngieFreeBSD:UFS) 50271294Sngie expect 0 create ${n0} 0644 51271294Sngie expect 0 chflags ${n0} SF_APPEND 52271294Sngie expect EPERM chown ${n0} 65534 65534 53271294Sngie expect 0,0 stat ${n0} uid,gid 54271294Sngie expect 0 chflags ${n0} none 55271294Sngie expect 0 chown ${n0} 65534 65534 56271294Sngie expect 65534,65534 stat ${n0} uid,gid 57271294Sngie expect 0 unlink ${n0} 58271294Sngie 59271294Sngie expect 0 create ${n0} 0644 60271294Sngie expect 0 chflags ${n0} UF_IMMUTABLE 61271294Sngie expect EPERM chown ${n0} 65534 65534 62271294Sngie expect 0,0 stat ${n0} uid,gid 63271294Sngie expect 0 chflags ${n0} none 64271294Sngie expect 0 chown ${n0} 65534 65534 65271294Sngie expect 65534,65534 stat ${n0} uid,gid 66271294Sngie expect 0 unlink ${n0} 67271294Sngie 68271294Sngie expect 0 create ${n0} 0644 69271294Sngie expect 0 chflags ${n0} UF_NOUNLINK 70271294Sngie expect 0 chown ${n0} 65534 65534 71271294Sngie expect 65534,65534 stat ${n0} uid,gid 72271294Sngie expect 0 chflags ${n0} none 73271294Sngie expect 0 unlink ${n0} 74271294Sngie 75271294Sngie expect 0 create ${n0} 0644 76271294Sngie expect 0 chflags ${n0} UF_APPEND 77271294Sngie expect EPERM chown ${n0} 65534 65534 78271294Sngie expect 0,0 stat ${n0} uid,gid 79271294Sngie expect 0 chflags ${n0} none 80271294Sngie expect 0 chown ${n0} 65534 65534 81271294Sngie expect 65534,65534 stat ${n0} uid,gid 82271294Sngie expect 0 unlink ${n0} 83271294Sngie ;; 84271294Sngieesac 85