legacy_test.sh revision 174658
1174657Sdds#!/bin/sh
2174657Sdds# $FreeBSD: head/tools/regression/bin/mv/regress.sh 174658 2007-12-16 08:25:34Z dds $
3174657Sdds
4174657Sdds# A directory in a device different from that where the tests are run
5174657SddsTMPDIR=/tmp/regress.$$
6174657SddsCOUNT=0
7174657Sdds
8174657Sdds# Begin an individual test
9174657Sddsbegin()
10174657Sdds{
11174657Sdds	COUNT=`expr $COUNT + 1`
12174657Sdds	OK=1
13174657Sdds	if [ -z "$FS" ]
14174657Sdds	then
15174657Sdds		NAME="$1"
16174657Sdds	else
17174657Sdds		NAME="$1 (cross device)"
18174657Sdds	fi
19174657Sdds	rm -rf testdir $TMPDIR/testdir
20174657Sdds	mkdir -p testdir $TMPDIR/testdir
21174657Sdds	cd testdir
22174657Sdds}
23174657Sdds
24174657Sdds# End an individual test
25174657Sddsend()
26174657Sdds{
27174657Sdds	if [ $OK = 1 ]
28174657Sdds	then
29174657Sdds		echo -n 'ok '
30174657Sdds	else
31174657Sdds		echo -n 'not ok '
32174657Sdds	fi
33174657Sdds	echo "$COUNT - $NAME"
34174657Sdds	cd ..
35174657Sdds	rm -rf testdir $TMPDIR/testdir
36174657Sdds}
37174657Sdds
38174657Sdds# Make a file that can later be verified
39174657Sddsmkf()
40174657Sdds{
41174657Sdds	CN=`basename $1`
42174657Sdds	echo "$CN-$CN" >$1
43174657Sdds}
44174657Sdds
45174657Sdds# Verify that the file specified is correct
46174657Sddsckf()
47174657Sdds{
48174657Sdds	if [ -f $2 ] && echo "$1-$1" | diff -q - $2
49174657Sdds	then
50174657Sdds		ok
51174657Sdds	else
52174657Sdds		notok
53174657Sdds	fi
54174657Sdds}
55174657Sdds
56174657Sdds# Make a fifo that can later be verified
57174657Sddsmkp()
58174657Sdds{
59174657Sdds	mkfifo $1
60174657Sdds}
61174657Sdds
62174657Sdds# Verify that the file specified is correct
63174657Sddsckp()
64174657Sdds{
65174657Sdds	if [ -p $2 ]
66174657Sdds	then
67174657Sdds		ok
68174657Sdds	else
69174657Sdds		notok
70174657Sdds	fi
71174657Sdds}
72174657Sdds
73174657Sdds# Make a directory that can later be verified
74174657Sddsmkd()
75174657Sdds{
76174657Sdds	CN=`basename $1`
77174657Sdds	mkdir -p $1/"$CN-$CN"
78174657Sdds}
79174657Sdds
80174657Sdds# Verify that the directory specified is correct
81174657Sddsckd()
82174657Sdds{
83174657Sdds	if [ -d $2/$1-$1 ]
84174657Sdds	then
85174657Sdds		ok
86174657Sdds	else
87174657Sdds		notok
88174657Sdds	fi
89174657Sdds}
90174657Sdds
91174658Sdds# Verify that the specified file does not exist
92174658Sdds# (is not there)
93174658Sddscknt()
94174658Sdds{
95174658Sdds	if [ -e $1 ]
96174658Sdds	then
97174658Sdds		notok
98174658Sdds	else
99174658Sdds		ok
100174658Sdds	fi
101174658Sdds}
102174658Sdds
103174657Sdds# A part of a test succeeds
104174657Sddsok()
105174657Sdds{
106174657Sdds	:
107174657Sdds}
108174657Sdds
109174657Sdds# A part of a test fails
110174657Sddsnotok()
111174657Sdds{
112174657Sdds	OK=0
113174657Sdds}
114174657Sdds
115174657Sdds# Run all tests locally and across devices
116174657Sddsecho 1..24
117174657Sddsfor FS in '' $TMPDIR/testdir/
118174657Sddsdo
119174657Sdds	begin 'Rename file'
120174657Sdds	mkf fa
121174657Sdds	mv fa ${FS}fb
122174657Sdds	ckf fa ${FS}fb
123174658Sdds	cknt fa
124174657Sdds	end
125174657Sdds
126174657Sdds	begin 'Move files into directory'
127174657Sdds	mkf fa
128174657Sdds	mkf fb
129174657Sdds	mkdir -p ${FS}1/2/3
130174657Sdds	mv fa fb ${FS}1/2/3
131174657Sdds	ckf fa ${FS}1/2/3/fa
132174657Sdds	ckf fb ${FS}1/2/3/fb
133174658Sdds	cknt fa
134174658Sdds	cknt fb
135174657Sdds	end
136174657Sdds
137174657Sdds	begin 'Move file from directory to file'
138174657Sdds	mkdir -p 1/2/3
139174657Sdds	mkf 1/2/3/fa
140174657Sdds	mv 1/2/3/fa ${FS}fb
141174657Sdds	ckf fa ${FS}fb
142174658Sdds	cknt 1/2/3/fa
143174657Sdds	end
144174657Sdds
145174657Sdds	begin 'Move file from directory to directory'
146174657Sdds	mkdir -p da1/da2/da3
147174657Sdds	mkdir -p ${FS}db1/db2/db3
148174657Sdds	mkf da1/da2/da3/fa
149174657Sdds	mv da1/da2/da3/fa ${FS}db1/db2/db3/fb
150174657Sdds	ckf fa ${FS}db1/db2/db3/fb
151174658Sdds	cknt da1/da2/da3/fa
152174657Sdds	end
153174657Sdds
154174657Sdds	begin 'Rename directory'
155174657Sdds	mkd da
156174657Sdds	mv da ${FS}db
157174657Sdds	ckd da ${FS}db
158174658Sdds	cknt da
159174657Sdds	end
160174657Sdds
161174657Sdds	begin 'Move directory to directory name'
162174657Sdds	mkd da1/da2/da3/da
163174657Sdds	mkdir -p ${FS}db1/db2/db3
164174657Sdds	mv da1/da2/da3/da ${FS}db1/db2/db3/db
165174657Sdds	ckd da ${FS}db1/db2/db3/db
166174658Sdds	cknt da1/da2/da3/da
167174657Sdds	end
168174657Sdds
169174657Sdds	begin 'Move directory to directory'
170174657Sdds	mkd da1/da2/da3/da
171174657Sdds	mkdir -p ${FS}db1/db2/db3
172174657Sdds	mv da1/da2/da3/da ${FS}db1/db2/db3
173174657Sdds	ckd da ${FS}db1/db2/db3/da
174174658Sdds	cknt da1/da2/da3/da
175174657Sdds	end
176174657Sdds
177174657Sdds	begin 'Move directory to existing directory'
178174657Sdds	mkd da1/da2/da3/da
179174657Sdds	mkdir -p ${FS}db1/db2/db3/da
180174657Sdds	mv da1/da2/da3/da ${FS}db1/db2/db3
181174657Sdds	ckd da ${FS}db1/db2/db3/da
182174658Sdds	cknt da1/da2/da3/da
183174657Sdds	end
184174657Sdds
185174657Sdds	begin 'Rename fifo'
186174657Sdds	mkp fa
187174657Sdds	mv fa ${FS}fb
188174657Sdds	ckp fa ${FS}fb
189174658Sdds	cknt fa
190174657Sdds	end
191174657Sdds
192174657Sdds	begin 'Move fifos into directory'
193174657Sdds	mkp fa
194174657Sdds	mkp fb
195174657Sdds	mkdir -p ${FS}1/2/3
196174657Sdds	mv fa fb ${FS}1/2/3
197174657Sdds	ckp fa ${FS}1/2/3/fa
198174657Sdds	ckp fb ${FS}1/2/3/fb
199174658Sdds	cknt fa
200174658Sdds	cknt fb
201174657Sdds	end
202174657Sdds
203174657Sdds	begin 'Move fifo from directory to fifo'
204174657Sdds	mkdir -p 1/2/3
205174657Sdds	mkp 1/2/3/fa
206174657Sdds	mv 1/2/3/fa ${FS}fb
207174657Sdds	ckp fa ${FS}fb
208174658Sdds	cknt 1/2/3/fa
209174657Sdds	end
210174657Sdds
211174657Sdds	begin 'Move fifo from directory to directory'
212174657Sdds	mkdir -p da1/da2/da3
213174657Sdds	mkdir -p ${FS}db1/db2/db3
214174657Sdds	mkp da1/da2/da3/fa
215174657Sdds	mv da1/da2/da3/fa ${FS}db1/db2/db3/fb
216174657Sdds	ckp fa ${FS}db1/db2/db3/fb
217174658Sdds	cknt da1/da2/da3/fa
218174657Sdds	end
219174657Sddsdone
220