1#!/bin/sh 2# $FreeBSD: src/tools/regression/fstest/tests/rename/07.t,v 1.1 2007/01/17 01:42:10 pjd Exp $ 3 4desc="rename returns EPERM if the parent directory of the file pointed at by the 'from' argument has its immutable or append-only flag set" 5 6n0=`namegen` 7n1=`namegen` 8n2=`namegen` 9 10expect 0 mkdir ${n0} 0755 11 12expect 0 create ${n0}/${n1} 0644 13for flag in SF_IMMUTABLE UF_IMMUTABLE SF_APPEND UF_APPEND; do 14 expect 0 chflags ${n0} ${flag} 15 expect ${flag} stat ${n0} flags 16 expect EPERM rename ${n0}/${n1} ${n2} 17done 18expect 0 chflags ${n0} none 19expect 0 unlink ${n0}/${n1} 20 21expect 0 mkdir ${n0}/${n1} 0755 22for flag in SF_IMMUTABLE UF_IMMUTABLE SF_APPEND UF_APPEND; do 23 expect 0 chflags ${n0} ${flag} 24 expect ${flag} stat ${n0} flags 25 expect EPERM rename ${n0}/${n1} ${n2} 26done 27expect 0 chflags ${n0} none 28expect 0 rmdir ${n0}/${n1} 29 30expect 0 mkfifo ${n0}/${n1} 0644 31for flag in SF_IMMUTABLE UF_IMMUTABLE SF_APPEND UF_APPEND; do 32 expect 0 chflags ${n0} ${flag} 33 expect ${flag} stat ${n0} flags 34 expect EPERM rename ${n0}/${n1} ${n2} 35done 36expect 0 chflags ${n0} none 37expect 0 unlink ${n0}/${n1} 38 39expect 0 symlink ${n2} ${n0}/${n1} 40for flag in SF_IMMUTABLE UF_IMMUTABLE SF_APPEND UF_APPEND; do 41 expect 0 chflags ${n0} ${flag} 42 expect ${flag} stat ${n0} flags 43 expect EPERM rename ${n0}/${n1} ${n2} 44done 45expect 0 chflags ${n0} none 46expect 0 unlink ${n0}/${n1} 47 48expect 0 rmdir ${n0} 49