legacy_test.sh revision 174657
1174657Sdds#!/bin/sh
2174657Sdds# $FreeBSD: head/tools/regression/bin/mv/regress.sh 174657 2007-12-16 08:11:38Z 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
91174657Sdds# A part of a test succeeds
92174657Sddsok()
93174657Sdds{
94174657Sdds	:
95174657Sdds}
96174657Sdds
97174657Sdds# A part of a test fails
98174657Sddsnotok()
99174657Sdds{
100174657Sdds	OK=0
101174657Sdds}
102174657Sdds
103174657Sdds# Run all tests locally and across devices
104174657Sddsecho 1..24
105174657Sddsfor FS in '' $TMPDIR/testdir/
106174657Sddsdo
107174657Sdds	begin 'Rename file'
108174657Sdds	mkf fa
109174657Sdds	mv fa ${FS}fb
110174657Sdds	ckf fa ${FS}fb
111174657Sdds	end
112174657Sdds
113174657Sdds	begin 'Move files into directory'
114174657Sdds	mkf fa
115174657Sdds	mkf fb
116174657Sdds	mkdir -p ${FS}1/2/3
117174657Sdds	mv fa fb ${FS}1/2/3
118174657Sdds	ckf fa ${FS}1/2/3/fa
119174657Sdds	ckf fb ${FS}1/2/3/fb
120174657Sdds	end
121174657Sdds
122174657Sdds	begin 'Move file from directory to file'
123174657Sdds	mkdir -p 1/2/3
124174657Sdds	mkf 1/2/3/fa
125174657Sdds	mv 1/2/3/fa ${FS}fb
126174657Sdds	ckf fa ${FS}fb
127174657Sdds	end
128174657Sdds
129174657Sdds	begin 'Move file from directory to directory'
130174657Sdds	mkdir -p da1/da2/da3
131174657Sdds	mkdir -p ${FS}db1/db2/db3
132174657Sdds	mkf da1/da2/da3/fa
133174657Sdds	mv da1/da2/da3/fa ${FS}db1/db2/db3/fb
134174657Sdds	ckf fa ${FS}db1/db2/db3/fb
135174657Sdds	end
136174657Sdds
137174657Sdds	begin 'Rename directory'
138174657Sdds	mkd da
139174657Sdds	mv da ${FS}db
140174657Sdds	ckd da ${FS}db
141174657Sdds	end
142174657Sdds
143174657Sdds	begin 'Move directory to directory name'
144174657Sdds	mkd da1/da2/da3/da
145174657Sdds	mkdir -p ${FS}db1/db2/db3
146174657Sdds	mv da1/da2/da3/da ${FS}db1/db2/db3/db
147174657Sdds	ckd da ${FS}db1/db2/db3/db
148174657Sdds	end
149174657Sdds
150174657Sdds	begin 'Move directory to directory'
151174657Sdds	mkd da1/da2/da3/da
152174657Sdds	mkdir -p ${FS}db1/db2/db3
153174657Sdds	mv da1/da2/da3/da ${FS}db1/db2/db3
154174657Sdds	ckd da ${FS}db1/db2/db3/da
155174657Sdds	end
156174657Sdds
157174657Sdds	begin 'Move directory to existing directory'
158174657Sdds	mkd da1/da2/da3/da
159174657Sdds	mkdir -p ${FS}db1/db2/db3/da
160174657Sdds	mv da1/da2/da3/da ${FS}db1/db2/db3
161174657Sdds	ckd da ${FS}db1/db2/db3/da
162174657Sdds	end
163174657Sdds
164174657Sdds	begin 'Rename fifo'
165174657Sdds	mkp fa
166174657Sdds	mv fa ${FS}fb
167174657Sdds	ckp fa ${FS}fb
168174657Sdds	end
169174657Sdds
170174657Sdds	begin 'Move fifos into directory'
171174657Sdds	mkp fa
172174657Sdds	mkp fb
173174657Sdds	mkdir -p ${FS}1/2/3
174174657Sdds	mv fa fb ${FS}1/2/3
175174657Sdds	ckp fa ${FS}1/2/3/fa
176174657Sdds	ckp fb ${FS}1/2/3/fb
177174657Sdds	end
178174657Sdds
179174657Sdds	begin 'Move fifo from directory to fifo'
180174657Sdds	mkdir -p 1/2/3
181174657Sdds	mkp 1/2/3/fa
182174657Sdds	mv 1/2/3/fa ${FS}fb
183174657Sdds	ckp fa ${FS}fb
184174657Sdds	end
185174657Sdds
186174657Sdds	begin 'Move fifo from directory to directory'
187174657Sdds	mkdir -p da1/da2/da3
188174657Sdds	mkdir -p ${FS}db1/db2/db3
189174657Sdds	mkp da1/da2/da3/fa
190174657Sdds	mv da1/da2/da3/fa ${FS}db1/db2/db3/fb
191174657Sdds	ckp fa ${FS}db1/db2/db3/fb
192174657Sdds	end
193174657Sddsdone
194