07.t revision 166065
1169691Skan#!/bin/sh 2169691Skan# $FreeBSD: head/tools/regression/fstest/tests/rename/07.t 166065 2007-01-17 01:42:12Z pjd $ 3169691Skan 4169691Skandesc="rename returns EPERM if the parent directory of the file pointed at by the 'from' argument has its immutable or append-only flag set" 5169691Skan 6169691Skandir=`dirname $0` 7169691Skan. ${dir}/../misc.sh 8169691Skan 9169691Skanrequire chflags 10169691Skan 11169691Skanecho "1..106" 12169691Skan 13169691Skann0=`namegen` 14169691Skann1=`namegen` 15169691Skann2=`namegen` 16169691Skan 17169691Skanexpect 0 mkdir ${n0} 0755 18169691Skan 19169691Skanexpect 0 create ${n0}/${n1} 0644 20169691Skanfor flag in SF_IMMUTABLE UF_IMMUTABLE SF_APPEND UF_APPEND; do 21169691Skan expect 0 chflags ${n0} ${flag} 22169691Skan expect ${flag} stat ${n0} flags 23169691Skan expect EPERM rename ${n0}/${n1} ${n2} 24169691Skandone 25169691Skanexpect 0 chflags ${n0} none 26169691Skanexpect 0 unlink ${n0}/${n1} 27169691Skan 28169691Skanexpect 0 mkdir ${n0}/${n1} 0755 29169691Skanfor flag in SF_IMMUTABLE UF_IMMUTABLE SF_APPEND UF_APPEND; do 30169691Skan expect 0 chflags ${n0} ${flag} 31169691Skan expect ${flag} stat ${n0} flags 32169691Skan expect EPERM rename ${n0}/${n1} ${n2} 33169691Skandone 34169691Skanexpect 0 chflags ${n0} none 35169691Skanexpect 0 rmdir ${n0}/${n1} 36169691Skan 37169691Skanexpect 0 mkfifo ${n0}/${n1} 0644 38169691Skanfor flag in SF_IMMUTABLE UF_IMMUTABLE SF_APPEND UF_APPEND; do 39169691Skan expect 0 chflags ${n0} ${flag} 40169691Skan expect ${flag} stat ${n0} flags 41169691Skan expect EPERM rename ${n0}/${n1} ${n2} 42169691Skandone 43169691Skanexpect 0 chflags ${n0} none 44169691Skanexpect 0 unlink ${n0}/${n1} 45169691Skan 46169691Skanexpect 0 symlink ${n2} ${n0}/${n1} 47169691Skanfor flag in SF_IMMUTABLE UF_IMMUTABLE SF_APPEND UF_APPEND; do 48169691Skan expect 0 chflags ${n0} ${flag} 49169691Skan expect ${flag} stat ${n0} flags 50169691Skan expect EPERM rename ${n0}/${n1} ${n2} 51169691Skandone 52169691Skanexpect 0 chflags ${n0} none 53169691Skanexpect 0 unlink ${n0}/${n1} 54169691Skan 55169691Skanexpect 0 create ${n0}/${n1} 0644 56169691Skanfor flag in SF_NOUNLINK UF_NOUNLINK; do 57169691Skan expect 0 chflags ${n0} ${flag} 58169691Skan expect ${flag} stat ${n0} flags 59169691Skan expect 0 rename ${n0}/${n1} ${n2} 60169691Skan expect 0 rename ${n2} ${n0}/${n1} 61169691Skandone 62169691Skanexpect 0 chflags ${n0} none 63169691Skanexpect 0 unlink ${n0}/${n1} 64169691Skan 65169691Skanexpect 0 mkdir ${n0}/${n1} 0755 66169691Skanfor flag in SF_NOUNLINK UF_NOUNLINK; do 67169691Skan expect 0 chflags ${n0} ${flag} 68169691Skan expect ${flag} stat ${n0} flags 69169691Skan expect 0 rename ${n0}/${n1} ${n2} 70169691Skan expect 0 rename ${n2} ${n0}/${n1} 71169691Skandone 72169691Skanexpect 0 chflags ${n0} none 73169691Skanexpect 0 rmdir ${n0}/${n1} 74169691Skan 75169691Skanexpect 0 mkfifo ${n0}/${n1} 0644 76169691Skanfor flag in SF_NOUNLINK UF_NOUNLINK; do 77169691Skan expect 0 chflags ${n0} ${flag} 78169691Skan expect ${flag} stat ${n0} flags 79169691Skan expect 0 rename ${n0}/${n1} ${n2} 80169691Skan expect 0 rename ${n2} ${n0}/${n1} 81169691Skandone 82169691Skanexpect 0 chflags ${n0} none 83169691Skanexpect 0 unlink ${n0}/${n1} 84169691Skan 85169691Skanexpect 0 symlink ${n2} ${n0}/${n1} 86169691Skanfor flag in SF_NOUNLINK UF_NOUNLINK; do 87169691Skan expect 0 chflags ${n0} ${flag} 88169691Skan expect ${flag} stat ${n0} flags 89169691Skan expect 0 rename ${n0}/${n1} ${n2} 90169691Skan expect 0 rename ${n2} ${n0}/${n1} 91169691Skandone 92169691Skanexpect 0 chflags ${n0} none 93169691Skanexpect 0 unlink ${n0}/${n1} 94169691Skan 95expect 0 rmdir ${n0} 96