00.t (211180) | 00.t (211186) |
---|---|
1#!/bin/sh | 1#!/bin/sh |
2# $FreeBSD: head/tools/regression/fstest/tests/link/00.t 211180 2010-08-11 16:34:44Z pjd $ | 2# $FreeBSD: head/tools/regression/fstest/tests/link/00.t 211186 2010-08-11 17:34:58Z pjd $ |
3 4desc="link creates hardlinks" 5 6dir=`dirname $0` 7. ${dir}/../misc.sh 8 | 3 4desc="link creates hardlinks" 5 6dir=`dirname $0` 7. ${dir}/../misc.sh 8 |
9echo "1..217" | 9echo "1..202" |
10 11n0=`namegen` 12n1=`namegen` 13n2=`namegen` 14n3=`namegen` 15 16expect 0 mkdir ${n3} 0755 17cdir=`pwd` 18cd ${n3} 19 20for type in regular fifo block char socket; do | 10 11n0=`namegen` 12n1=`namegen` 13n2=`namegen` 14n3=`namegen` 15 16expect 0 mkdir ${n3} 0755 17cdir=`pwd` 18cd ${n3} 19 20for type in regular fifo block char socket; do |
21 create_file ${type} ${n0} 0 0 | 21 create_file ${type} ${n0} |
22 expect ${type},1 lstat ${n0} type,nlink 23 24 expect 0 link ${n0} ${n1} 25 expect ${type},2 lstat ${n0} type,nlink 26 expect ${type},2 lstat ${n1} type,nlink 27 28 expect 0 link ${n1} ${n2} 29 expect ${type},3 lstat ${n0} type,nlink --- 20 unchanged lines hidden (view full) --- 50 expect 0 unlink ${n1} 51 expect ENOENT lstat ${n0} type,mode,nlink,uid,gid 52 expect ENOENT lstat ${n1} type,mode,nlink,uid,gid 53 expect ENOENT lstat ${n2} type,mode,nlink,uid,gid 54done 55 56# successful link(2) updates ctime. 57for type in regular fifo block char socket; do | 22 expect ${type},1 lstat ${n0} type,nlink 23 24 expect 0 link ${n0} ${n1} 25 expect ${type},2 lstat ${n0} type,nlink 26 expect ${type},2 lstat ${n1} type,nlink 27 28 expect 0 link ${n1} ${n2} 29 expect ${type},3 lstat ${n0} type,nlink --- 20 unchanged lines hidden (view full) --- 50 expect 0 unlink ${n1} 51 expect ENOENT lstat ${n0} type,mode,nlink,uid,gid 52 expect ENOENT lstat ${n1} type,mode,nlink,uid,gid 53 expect ENOENT lstat ${n2} type,mode,nlink,uid,gid 54done 55 56# successful link(2) updates ctime. 57for type in regular fifo block char socket; do |
58 create_file ${type} ${n0} 0 0 | 58 create_file ${type} ${n0} |
59 ctime1=`${fstest} stat ${n0} ctime` 60 dctime1=`${fstest} stat . ctime` 61 dmtime1=`${fstest} stat . mtime` 62 sleep 1 63 expect 0 link ${n0} ${n1} 64 ctime2=`${fstest} stat ${n0} ctime` 65 test_check $ctime1 -lt $ctime2 66 dctime2=`${fstest} stat . ctime` 67 test_check $dctime1 -lt $dctime2 68 dmtime2=`${fstest} stat . mtime` 69 test_check $dctime1 -lt $dmtime2 70 expect 0 unlink ${n0} 71 expect 0 unlink ${n1} 72done 73 74# unsuccessful link(2) does not update ctime. 75for type in regular fifo block char socket; do | 59 ctime1=`${fstest} stat ${n0} ctime` 60 dctime1=`${fstest} stat . ctime` 61 dmtime1=`${fstest} stat . mtime` 62 sleep 1 63 expect 0 link ${n0} ${n1} 64 ctime2=`${fstest} stat ${n0} ctime` 65 test_check $ctime1 -lt $ctime2 66 dctime2=`${fstest} stat . ctime` 67 test_check $dctime1 -lt $dctime2 68 dmtime2=`${fstest} stat . mtime` 69 test_check $dctime1 -lt $dmtime2 70 expect 0 unlink ${n0} 71 expect 0 unlink ${n1} 72done 73 74# unsuccessful link(2) does not update ctime. 75for type in regular fifo block char socket; do |
76 create_file ${type} ${n0} 0 0 | 76 create_file ${type} ${n0} |
77 expect 0 -- chown ${n0} 65534 -1 78 ctime1=`${fstest} stat ${n0} ctime` 79 dctime1=`${fstest} stat . ctime` 80 dmtime1=`${fstest} stat . mtime` 81 sleep 1 82 expect EACCES -u 65534 link ${n0} ${n1} 83 ctime2=`${fstest} stat ${n0} ctime` 84 test_check $ctime1 -eq $ctime2 85 dctime2=`${fstest} stat . ctime` 86 test_check $dctime1 -eq $dctime2 87 dmtime2=`${fstest} stat . mtime` 88 test_check $dctime1 -eq $dmtime2 89 expect 0 unlink ${n0} 90done 91 92cd ${cdir} 93expect 0 rmdir ${n3} | 77 expect 0 -- chown ${n0} 65534 -1 78 ctime1=`${fstest} stat ${n0} ctime` 79 dctime1=`${fstest} stat . ctime` 80 dmtime1=`${fstest} stat . mtime` 81 sleep 1 82 expect EACCES -u 65534 link ${n0} ${n1} 83 ctime2=`${fstest} stat ${n0} ctime` 84 test_check $ctime1 -eq $ctime2 85 dctime2=`${fstest} stat . ctime` 86 test_check $dctime1 -eq $dctime2 87 dmtime2=`${fstest} stat . mtime` 88 test_check $dctime1 -eq $dmtime2 89 expect 0 unlink ${n0} 90done 91 92cd ${cdir} 93expect 0 rmdir ${n3} |