1271294Sngie#!/bin/sh 2271294Sngie# $FreeBSD: head/tools/regression/pjdfstest/tests/mknod/09.t 211352 2010-08-15 21:24:17Z pjd $ 3271294Sngie 4271294Sngiedesc="mknod returns EPERM if the parent directory of the file to be created has its immutable flag set" 5271294Sngie 6271294Sngiedir=`dirname $0` 7271294Sngie. ${dir}/../misc.sh 8271294Sngie 9271294Sngierequire chflags 10271294Sngie 11271294Sngiecase "${os}:${fs}" in 12271294SngieFreeBSD:UFS) 13271294Sngie echo "1..30" 14271294Sngie ;; 15271294Sngie*) 16271294Sngie echo "1..17" 17271294Sngie ;; 18271294Sngieesac 19271294Sngie 20271294Sngien0=`namegen` 21271294Sngien1=`namegen` 22271294Sngie 23271294Sngieexpect 0 mkdir ${n0} 0755 24271294Sngie 25271294Sngieexpect 0 mknod ${n0}/${n1} f 0644 0 0 26271294Sngieexpect 0 unlink ${n0}/${n1} 27271294Sngie 28271294Sngieexpect 0 chflags ${n0} SF_IMMUTABLE 29271294Sngieexpect EPERM mknod ${n0}/${n1} f 0644 0 0 30271294Sngieexpect 0 chflags ${n0} none 31271294Sngieexpect 0 mknod ${n0}/${n1} f 0644 0 0 32271294Sngieexpect 0 unlink ${n0}/${n1} 33271294Sngie 34271294Sngieexpect 0 chflags ${n0} SF_APPEND 35271294Sngieexpect 0 mknod ${n0}/${n1} f 0644 0 0 36271294Sngieexpect 0 chflags ${n0} none 37271294Sngieexpect 0 unlink ${n0}/${n1} 38271294Sngie 39271294Sngieexpect 0 chflags ${n0} SF_NOUNLINK 40271294Sngieexpect 0 mknod ${n0}/${n1} f 0644 0 0 41271294Sngieexpect 0 unlink ${n0}/${n1} 42271294Sngieexpect 0 chflags ${n0} none 43271294Sngie 44271294Sngiecase "${os}:${fs}" in 45271294SngieFreeBSD:UFS) 46271294Sngie expect 0 chflags ${n0} UF_IMMUTABLE 47271294Sngie expect EPERM mknod ${n0}/${n1} f 0644 0 0 48271294Sngie expect 0 chflags ${n0} none 49271294Sngie expect 0 mknod ${n0}/${n1} f 0644 0 0 50271294Sngie expect 0 unlink ${n0}/${n1} 51271294Sngie 52271294Sngie expect 0 chflags ${n0} UF_APPEND 53271294Sngie expect 0 mknod ${n0}/${n1} f 0644 0 0 54271294Sngie expect 0 chflags ${n0} none 55271294Sngie expect 0 unlink ${n0}/${n1} 56271294Sngie 57271294Sngie expect 0 chflags ${n0} UF_NOUNLINK 58271294Sngie expect 0 mknod ${n0}/${n1} f 0644 0 0 59271294Sngie expect 0 unlink ${n0}/${n1} 60271294Sngie expect 0 chflags ${n0} none 61271294Sngie ;; 62271294Sngieesac 63271294Sngie 64271294Sngieexpect 0 rmdir ${n0} 65