1166065Spjd#!/bin/sh 2166065Spjd# $FreeBSD: releng/10.2/tools/regression/pjdfstest/tests/mkfifo/10.t 210984 2010-08-06 23:58:54Z pjd $ 3166065Spjd 4166065Spjddesc="mkfifo returns EPERM if the parent directory of the file to be created has its immutable flag set" 5166065Spjd 6166065Spjddir=`dirname $0` 7166065Spjd. ${dir}/../misc.sh 8166065Spjd 9166065Spjdrequire chflags 10166065Spjd 11210984Spjdcase "${os}:${fs}" in 12210984SpjdFreeBSD:ZFS) 13210984Spjd echo "1..17" 14210984Spjd ;; 15210984SpjdFreeBSD:UFS) 16210984Spjd echo "1..30" 17210984Spjd ;; 18210984Spjd*) 19210984Spjd quick_exit 20210984Spjdesac 21166065Spjd 22166065Spjdn0=`namegen` 23166065Spjdn1=`namegen` 24166065Spjd 25166065Spjdexpect 0 mkdir ${n0} 0755 26166065Spjd 27166065Spjdexpect 0 mkfifo ${n0}/${n1} 0644 28166065Spjdexpect 0 unlink ${n0}/${n1} 29166065Spjd 30166065Spjdexpect 0 chflags ${n0} SF_IMMUTABLE 31166065Spjdexpect EPERM mkfifo ${n0}/${n1} 0644 32166065Spjdexpect 0 chflags ${n0} none 33166065Spjdexpect 0 mkfifo ${n0}/${n1} 0644 34166065Spjdexpect 0 unlink ${n0}/${n1} 35166065Spjd 36210984Spjdexpect 0 chflags ${n0} SF_NOUNLINK 37166065Spjdexpect 0 mkfifo ${n0}/${n1} 0644 38166065Spjdexpect 0 unlink ${n0}/${n1} 39210984Spjdexpect 0 chflags ${n0} none 40166065Spjd 41166065Spjdexpect 0 chflags ${n0} SF_APPEND 42166065Spjdexpect 0 mkfifo ${n0}/${n1} 0644 43166065Spjdexpect 0 chflags ${n0} none 44166065Spjdexpect 0 unlink ${n0}/${n1} 45166065Spjd 46210984Spjdcase "${os}:${fs}" in 47210984SpjdFreeBSD:UFS) 48210984Spjd expect 0 chflags ${n0} UF_IMMUTABLE 49210984Spjd expect EPERM mkfifo ${n0}/${n1} 0644 50210984Spjd expect 0 chflags ${n0} none 51210984Spjd expect 0 mkfifo ${n0}/${n1} 0644 52210984Spjd expect 0 unlink ${n0}/${n1} 53166065Spjd 54210984Spjd expect 0 chflags ${n0} UF_NOUNLINK 55210984Spjd expect 0 mkfifo ${n0}/${n1} 0644 56210984Spjd expect 0 unlink ${n0}/${n1} 57210984Spjd expect 0 chflags ${n0} none 58166065Spjd 59210984Spjd expect 0 chflags ${n0} UF_APPEND 60210984Spjd expect 0 mkfifo ${n0}/${n1} 0644 61210984Spjd expect 0 chflags ${n0} none 62210984Spjd expect 0 unlink ${n0}/${n1} 63210984Spjd ;; 64210984Spjdesac 65166065Spjd 66166065Spjdexpect 0 rmdir ${n0} 67