1166065Spjd#!/bin/sh 2166065Spjd# $FreeBSD: releng/10.2/tools/regression/pjdfstest/tests/rmdir/09.t 210984 2010-08-06 23:58:54Z pjd $ 3166065Spjd 4210984Spjddesc="rmdir returns EPERM if the named directory has its immutable, undeletable or append-only flag set" 5166065Spjd 6166065Spjddir=`dirname $0` 7166065Spjd. ${dir}/../misc.sh 8166065Spjd 9166065Spjdrequire chflags 10166065Spjd 11210984Spjdcase "${os}:${fs}" in 12210984SpjdFreeBSD:ZFS) 13210984Spjd echo "1..15" 14210984Spjd ;; 15210984SpjdFreeBSD:UFS) 16210984Spjd echo "1..30" 17210984Spjd ;; 18210984Spjd*) 19210984Spjd quick_exit 20210984Spjdesac 21166065Spjd 22166065Spjdn0=`namegen` 23166065Spjd 24166065Spjdexpect 0 mkdir ${n0} 0755 25166065Spjdexpect 0 chflags ${n0} SF_IMMUTABLE 26166065Spjdexpect EPERM rmdir ${n0} 27166065Spjdexpect 0 chflags ${n0} none 28166065Spjdexpect 0 rmdir ${n0} 29166065Spjd 30166065Spjdexpect 0 mkdir ${n0} 0755 31166065Spjdexpect 0 chflags ${n0} SF_NOUNLINK 32166065Spjdexpect EPERM rmdir ${n0} 33166065Spjdexpect 0 chflags ${n0} none 34166065Spjdexpect 0 rmdir ${n0} 35166065Spjd 36166065Spjdexpect 0 mkdir ${n0} 0755 37166065Spjdexpect 0 chflags ${n0} SF_APPEND 38210984Spjdtodo FreeBSD:ZFS "Removing a directory protected by SF_APPEND should return EPERM." 39166065Spjdexpect EPERM rmdir ${n0} 40210984Spjdtodo FreeBSD:ZFS "Removing a directory protected by SF_APPEND should return EPERM." 41166065Spjdexpect 0 chflags ${n0} none 42210984Spjdtodo FreeBSD:ZFS "Removing a directory protected by SF_APPEND should return EPERM." 43166065Spjdexpect 0 rmdir ${n0} 44166065Spjd 45210984Spjdcase "${os}:${fs}" in 46210984SpjdFreeBSD:UFS) 47210984Spjd expect 0 mkdir ${n0} 0755 48210984Spjd expect 0 chflags ${n0} UF_IMMUTABLE 49210984Spjd expect EPERM rmdir ${n0} 50210984Spjd expect 0 chflags ${n0} none 51210984Spjd expect 0 rmdir ${n0} 52210984Spjd 53210984Spjd expect 0 mkdir ${n0} 0755 54210984Spjd expect 0 chflags ${n0} UF_NOUNLINK 55210984Spjd expect EPERM rmdir ${n0} 56210984Spjd expect 0 chflags ${n0} none 57210984Spjd expect 0 rmdir ${n0} 58210984Spjd 59210984Spjd expect 0 mkdir ${n0} 0755 60210984Spjd expect 0 chflags ${n0} UF_APPEND 61210984Spjd expect EPERM rmdir ${n0} 62210984Spjd expect 0 chflags ${n0} none 63210984Spjd expect 0 rmdir ${n0} 64210984Spjd ;; 65210984Spjdesac 66