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