]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - tools/regression/pjdfstest/tests/chmod/09.t
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / tools / regression / pjdfstest / tests / chmod / 09.t
1 #!/bin/sh
2 # $FreeBSD$
3
4 desc="chmod returns EROFS if the named file resides on a read-only file system"
5
6 dir=`dirname $0`
7 . ${dir}/../misc.sh
8
9 [ "${os}:${fs}" = "FreeBSD:UFS" ] || quick_exit
10
11 echo "1..15"
12
13 n0=`namegen`
14 n1=`namegen`
15
16 expect 0 mkdir ${n0} 0755
17 n=`mdconfig -a -n -t malloc -s 1m`
18 newfs /dev/md${n} >/dev/null
19 mount /dev/md${n} ${n0}
20 expect 0 create ${n0}/${n1} 0644
21 expect 0 chmod ${n0}/${n1} 0640
22 expect 0640 stat ${n0}/${n1} mode
23 expect 0 lchmod ${n0}/${n1} 0530
24 expect 0530 stat ${n0}/${n1} mode
25 mount -ur /dev/md${n}
26 expect EROFS chmod ${n0}/${n1} 0600
27 expect EROFS lchmod ${n0}/${n1} 0600
28 expect 0530 stat ${n0}/${n1} mode
29 mount -uw /dev/md${n}
30 expect 0 chmod ${n0}/${n1} 0600
31 expect 0600 stat ${n0}/${n1} mode
32 expect 0 lchmod ${n0}/${n1} 0640
33 expect 0640 stat ${n0}/${n1} mode
34 expect 0 unlink ${n0}/${n1}
35 umount /dev/md${n}
36 mdconfig -d -u ${n}
37 expect 0 rmdir ${n0}