legacy_test.sh revision 174658
1#!/bin/sh 2# $FreeBSD: head/tools/regression/bin/mv/regress.sh 174658 2007-12-16 08:25:34Z dds $ 3 4# A directory in a device different from that where the tests are run 5TMPDIR=/tmp/regress.$$ 6COUNT=0 7 8# Begin an individual test 9begin() 10{ 11 COUNT=`expr $COUNT + 1` 12 OK=1 13 if [ -z "$FS" ] 14 then 15 NAME="$1" 16 else 17 NAME="$1 (cross device)" 18 fi 19 rm -rf testdir $TMPDIR/testdir 20 mkdir -p testdir $TMPDIR/testdir 21 cd testdir 22} 23 24# End an individual test 25end() 26{ 27 if [ $OK = 1 ] 28 then 29 echo -n 'ok ' 30 else 31 echo -n 'not ok ' 32 fi 33 echo "$COUNT - $NAME" 34 cd .. 35 rm -rf testdir $TMPDIR/testdir 36} 37 38# Make a file that can later be verified 39mkf() 40{ 41 CN=`basename $1` 42 echo "$CN-$CN" >$1 43} 44 45# Verify that the file specified is correct 46ckf() 47{ 48 if [ -f $2 ] && echo "$1-$1" | diff -q - $2 49 then 50 ok 51 else 52 notok 53 fi 54} 55 56# Make a fifo that can later be verified 57mkp() 58{ 59 mkfifo $1 60} 61 62# Verify that the file specified is correct 63ckp() 64{ 65 if [ -p $2 ] 66 then 67 ok 68 else 69 notok 70 fi 71} 72 73# Make a directory that can later be verified 74mkd() 75{ 76 CN=`basename $1` 77 mkdir -p $1/"$CN-$CN" 78} 79 80# Verify that the directory specified is correct 81ckd() 82{ 83 if [ -d $2/$1-$1 ] 84 then 85 ok 86 else 87 notok 88 fi 89} 90 91# Verify that the specified file does not exist 92# (is not there) 93cknt() 94{ 95 if [ -e $1 ] 96 then 97 notok 98 else 99 ok 100 fi 101} 102 103# A part of a test succeeds 104ok() 105{ 106 : 107} 108 109# A part of a test fails 110notok() 111{ 112 OK=0 113} 114 115# Run all tests locally and across devices 116echo 1..24 117for FS in '' $TMPDIR/testdir/ 118do 119 begin 'Rename file' 120 mkf fa 121 mv fa ${FS}fb 122 ckf fa ${FS}fb 123 cknt fa 124 end 125 126 begin 'Move files into directory' 127 mkf fa 128 mkf fb 129 mkdir -p ${FS}1/2/3 130 mv fa fb ${FS}1/2/3 131 ckf fa ${FS}1/2/3/fa 132 ckf fb ${FS}1/2/3/fb 133 cknt fa 134 cknt fb 135 end 136 137 begin 'Move file from directory to file' 138 mkdir -p 1/2/3 139 mkf 1/2/3/fa 140 mv 1/2/3/fa ${FS}fb 141 ckf fa ${FS}fb 142 cknt 1/2/3/fa 143 end 144 145 begin 'Move file from directory to directory' 146 mkdir -p da1/da2/da3 147 mkdir -p ${FS}db1/db2/db3 148 mkf da1/da2/da3/fa 149 mv da1/da2/da3/fa ${FS}db1/db2/db3/fb 150 ckf fa ${FS}db1/db2/db3/fb 151 cknt da1/da2/da3/fa 152 end 153 154 begin 'Rename directory' 155 mkd da 156 mv da ${FS}db 157 ckd da ${FS}db 158 cknt da 159 end 160 161 begin 'Move directory to directory name' 162 mkd da1/da2/da3/da 163 mkdir -p ${FS}db1/db2/db3 164 mv da1/da2/da3/da ${FS}db1/db2/db3/db 165 ckd da ${FS}db1/db2/db3/db 166 cknt da1/da2/da3/da 167 end 168 169 begin 'Move directory to directory' 170 mkd da1/da2/da3/da 171 mkdir -p ${FS}db1/db2/db3 172 mv da1/da2/da3/da ${FS}db1/db2/db3 173 ckd da ${FS}db1/db2/db3/da 174 cknt da1/da2/da3/da 175 end 176 177 begin 'Move directory to existing directory' 178 mkd da1/da2/da3/da 179 mkdir -p ${FS}db1/db2/db3/da 180 mv da1/da2/da3/da ${FS}db1/db2/db3 181 ckd da ${FS}db1/db2/db3/da 182 cknt da1/da2/da3/da 183 end 184 185 begin 'Rename fifo' 186 mkp fa 187 mv fa ${FS}fb 188 ckp fa ${FS}fb 189 cknt fa 190 end 191 192 begin 'Move fifos into directory' 193 mkp fa 194 mkp fb 195 mkdir -p ${FS}1/2/3 196 mv fa fb ${FS}1/2/3 197 ckp fa ${FS}1/2/3/fa 198 ckp fb ${FS}1/2/3/fb 199 cknt fa 200 cknt fb 201 end 202 203 begin 'Move fifo from directory to fifo' 204 mkdir -p 1/2/3 205 mkp 1/2/3/fa 206 mv 1/2/3/fa ${FS}fb 207 ckp fa ${FS}fb 208 cknt 1/2/3/fa 209 end 210 211 begin 'Move fifo from directory to directory' 212 mkdir -p da1/da2/da3 213 mkdir -p ${FS}db1/db2/db3 214 mkp da1/da2/da3/fa 215 mv da1/da2/da3/fa ${FS}db1/db2/db3/fb 216 ckp fa ${FS}db1/db2/db3/fb 217 cknt da1/da2/da3/fa 218 end 219done 220