08.t revision 275504
1155324Simp#!/bin/sh 2155324Simp# $FreeBSD: head/tools/regression/pjdfstest/tests/truncate/08.t 211352 2010-08-15 21:24:17Z pjd $ 3155324Simp 4155324Simpdesc="truncate returns EPERM if the named file has its immutable or append-only flag set" 5155324Simp 6155324Simpdir=`dirname $0` 7155324Simp. ${dir}/../misc.sh 8155324Simp 9155324Simprequire chflags 10155324Simp 11155324Simpcase "${os}:${fs}" in 12155324SimpFreeBSD:ZFS) 13155324Simp echo "1..22" 14155324Simp ;; 15155324SimpFreeBSD:UFS) 16155324Simp echo "1..44" 17155324Simp ;; 18155324Simp*) 19155324Simp quick_exit 20155324Simpesac 21155324Simp 22155324Simpn0=`namegen` 23155324Simp 24155324Simpexpect 0 create ${n0} 0644 25155324Simpexpect 0 chflags ${n0} SF_IMMUTABLE 26155324Simpexpect EPERM truncate ${n0} 123 27155324Simpexpect 0 stat ${n0} size 28155324Simpexpect 0 chflags ${n0} none 29155324Simpexpect 0 truncate ${n0} 123 30155324Simpexpect 123 stat ${n0} size 31155324Simpexpect 0 unlink ${n0} 32155324Simp 33155324Simpexpect 0 create ${n0} 0644 34155324Simpexpect 0 chflags ${n0} SF_NOUNLINK 35155324Simpexpect 0 truncate ${n0} 123 36155324Simpexpect 123 stat ${n0} size 37155324Simpexpect 0 chflags ${n0} none 38155324Simpexpect 0 unlink ${n0} 39155324Simp 40155324Simpexpect 0 create ${n0} 0644 41155324Simpexpect 0 chflags ${n0} SF_APPEND 42155324Simptodo FreeBSD:ZFS "Truncating a file protected by SF_APPEND should return EPERM." 43155324Simpexpect EPERM truncate ${n0} 123 44155324Simptodo FreeBSD:ZFS "Truncating a file protected by SF_APPEND should return EPERM." 45155324Simpexpect 0 stat ${n0} size 46155324Simpexpect 0 chflags ${n0} none 47155324Simpexpect 0 truncate ${n0} 123 48155324Simpexpect 123 stat ${n0} size 49155324Simpexpect 0 unlink ${n0} 50178366Scognet 51178366Scognetcase "${os}:${fs}" in 52155324SimpFreeBSD:UFS) 53155324Simp expect 0 create ${n0} 0644 54155324Simp expect 0 chflags ${n0} UF_IMMUTABLE 55155324Simp expect EPERM truncate ${n0} 123 56155324Simp expect 0 stat ${n0} size 57155324Simp expect 0 chflags ${n0} none 58155324Simp expect 0 truncate ${n0} 123 59161704Scognet expect 123 stat ${n0} size 60161704Scognet expect 0 unlink ${n0} 61155324Simp 62161704Scognet expect 0 create ${n0} 0644 63161704Scognet expect 0 chflags ${n0} UF_NOUNLINK 64161704Scognet expect 0 truncate ${n0} 123 65155324Simp expect 123 stat ${n0} size 66155324Simp expect 0 chflags ${n0} none 67155324Simp expect 0 unlink ${n0} 68155324Simp 69155324Simp expect 0 create ${n0} 0644 70155324Simp expect 0 chflags ${n0} UF_APPEND 71155324Simp expect EPERM truncate ${n0} 123 72155324Simp expect 0 stat ${n0} size 73164425Ssam expect 0 chflags ${n0} none 74155324Simp expect 0 truncate ${n0} 123 75155324Simp expect 123 stat ${n0} size 76155324Simp expect 0 unlink ${n0} 77155324Simp ;; 78155324Simpesac 79155324Simp