legacy_test.sh revision 174657
1#!/bin/sh 2# $FreeBSD: head/tools/regression/bin/mv/regress.sh 174657 2007-12-16 08:11:38Z 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# A part of a test succeeds 92ok() 93{ 94 : 95} 96 97# A part of a test fails 98notok() 99{ 100 OK=0 101} 102 103# Run all tests locally and across devices 104echo 1..24 105for FS in '' $TMPDIR/testdir/ 106do 107 begin 'Rename file' 108 mkf fa 109 mv fa ${FS}fb 110 ckf fa ${FS}fb 111 end 112 113 begin 'Move files into directory' 114 mkf fa 115 mkf fb 116 mkdir -p ${FS}1/2/3 117 mv fa fb ${FS}1/2/3 118 ckf fa ${FS}1/2/3/fa 119 ckf fb ${FS}1/2/3/fb 120 end 121 122 begin 'Move file from directory to file' 123 mkdir -p 1/2/3 124 mkf 1/2/3/fa 125 mv 1/2/3/fa ${FS}fb 126 ckf fa ${FS}fb 127 end 128 129 begin 'Move file from directory to directory' 130 mkdir -p da1/da2/da3 131 mkdir -p ${FS}db1/db2/db3 132 mkf da1/da2/da3/fa 133 mv da1/da2/da3/fa ${FS}db1/db2/db3/fb 134 ckf fa ${FS}db1/db2/db3/fb 135 end 136 137 begin 'Rename directory' 138 mkd da 139 mv da ${FS}db 140 ckd da ${FS}db 141 end 142 143 begin 'Move directory to directory name' 144 mkd da1/da2/da3/da 145 mkdir -p ${FS}db1/db2/db3 146 mv da1/da2/da3/da ${FS}db1/db2/db3/db 147 ckd da ${FS}db1/db2/db3/db 148 end 149 150 begin 'Move directory to directory' 151 mkd da1/da2/da3/da 152 mkdir -p ${FS}db1/db2/db3 153 mv da1/da2/da3/da ${FS}db1/db2/db3 154 ckd da ${FS}db1/db2/db3/da 155 end 156 157 begin 'Move directory to existing directory' 158 mkd da1/da2/da3/da 159 mkdir -p ${FS}db1/db2/db3/da 160 mv da1/da2/da3/da ${FS}db1/db2/db3 161 ckd da ${FS}db1/db2/db3/da 162 end 163 164 begin 'Rename fifo' 165 mkp fa 166 mv fa ${FS}fb 167 ckp fa ${FS}fb 168 end 169 170 begin 'Move fifos into directory' 171 mkp fa 172 mkp fb 173 mkdir -p ${FS}1/2/3 174 mv fa fb ${FS}1/2/3 175 ckp fa ${FS}1/2/3/fa 176 ckp fb ${FS}1/2/3/fb 177 end 178 179 begin 'Move fifo from directory to fifo' 180 mkdir -p 1/2/3 181 mkp 1/2/3/fa 182 mv 1/2/3/fa ${FS}fb 183 ckp fa ${FS}fb 184 end 185 186 begin 'Move fifo from directory to directory' 187 mkdir -p da1/da2/da3 188 mkdir -p ${FS}db1/db2/db3 189 mkp da1/da2/da3/fa 190 mv da1/da2/da3/fa ${FS}db1/db2/db3/fb 191 ckp fa ${FS}db1/db2/db3/fb 192 end 193done 194