aboutsummaryrefslogtreecommitdiff
path: root/tests/cp_tests.mk
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cp_tests.mk')
-rw-r--r--tests/cp_tests.mk270
1 files changed, 270 insertions, 0 deletions
diff --git a/tests/cp_tests.mk b/tests/cp_tests.mk
new file mode 100644
index 000000000..e14262ac1
--- /dev/null
+++ b/tests/cp_tests.mk
@@ -0,0 +1,270 @@
1# This is a -*- makefile -*-
2
3# GNU `cp'
4GCP = /bin/cp
5# BusyBox `cp'
6BCP = $(shell pwd)/cp
7
8.PHONY: cp_clean
9cp_clean:
10 rm -rf cp_tests cp_*.{gnu,bb} cp
11
12.PHONY: cp_tests
13cp_tests: cp_clean cp
14 @echo;
15 @echo "No output from diff means busybox cp is functioning properly.";
16
17 @echo;
18 ${BCP} || true;
19
20 @echo;
21 mkdir cp_tests;
22
23 @echo;
24 cd cp_tests; \
25 echo A file > afile; \
26 ls -l afile > ../cp_afile_afilecopy.gnu; \
27 ${GCP} afile afilecopy; \
28 ls -l afile afilecopy >> ../cp_afile_afilecopy.gnu;
29
30 @echo;
31 rm -f cp_tests/afile*;
32
33 @echo;
34 cd cp_tests; \
35 echo A file > afile; \
36 ls -l afile > ../cp_afile_afilecopy.bb; \
37 ${BCP} afile afilecopy; \
38 ls -l afile afilecopy >> ../cp_afile_afilecopy.bb;
39
40 @echo;
41 diff -u cp_afile_afilecopy.gnu cp_afile_afilecopy.bb;
42
43 @echo;
44 rm -f cp_tests/afile*;
45
46 @echo; echo;
47 cd cp_tests; \
48 mkdir there there1; \
49 cd there; \
50 ln -s ../afile .;
51
52 @echo;
53 cd cp_tests; \
54 echo A file > afile; \
55 ls -l afile > ../cp_symlink.gnu; \
56 ${GCP} there/afile there1/; \
57 ls -l afile there/afile there1/afile >> ../cp_symlink.gnu;
58
59 @echo;
60 rm -f cp_tests/afile cp_tests/there1/afile;
61
62 @echo;
63 cd cp_tests; \
64 echo A file > afile; \
65 ls -l afile > ../cp_symlink.bb; \
66 ${BCP} there/afile there1/; \
67 ls -l afile there/afile there1/afile >> ../cp_symlink.bb;
68
69 @echo;
70 diff -u cp_symlink.gnu cp_symlink.bb;
71
72 @echo;
73 rm -f cp_tests/afile cp_tests/there1/afile;
74
75 @echo; echo;
76 cd cp_tests; \
77 echo A file > afile; \
78 ls -l afile > ../cp_a_symlink.gnu; \
79 ${GCP} -a there/afile there1/; \
80 ls -l afile there/afile there1/afile >> ../cp_a_symlink.gnu;
81
82 @echo;
83 rm -f cp_tests/afile cp_tests/there1/afile;
84
85 @echo;
86 cd cp_tests; \
87 echo A file > afile; \
88 ls -l afile > ../cp_a_symlink.bb; \
89 ${BCP} -a there/afile there1/; \
90 ls -l afile there/afile there1/afile >> ../cp_a_symlink.bb;
91
92 @echo;
93 diff -u cp_a_symlink.gnu cp_a_symlink.bb;
94
95 @echo;
96 rm -f cp_tests/afile
97 rm -rf cp_tests/there{,1};
98
99 @echo; echo;
100 cd cp_tests; \
101 echo A file > there/afile; \
102 mkdir there/adir; \
103 touch there/adir/afileinadir; \
104 ln -s $(shell pwd) there/alink;
105
106 @echo;
107 cd cp_tests; \
108 ${GCP} -a there/ there1/; \
109 ls -lR there/ there1/ > ../cp_a_dir_dir.gnu;
110
111 @echo;
112 rm -rf cp_tests/there1;
113
114 @echo;
115 cd cp_tests; \
116 ${BCP} -a there/ there1/; \
117 ls -lR there/ there1/ > ../cp_a_dir_dir.bb;
118
119 @echo;
120 diff -u cp_a_dir_dir.gnu cp_a_dir_dir.bb;
121
122 @echo;
123 rm -rf cp_tests/there1/;
124
125 @echo; echo;
126 cd cp_tests; \
127 echo A file number one > afile1; \
128 echo A file number two, blah. > afile2; \
129 ln -s afile1 symlink1; \
130 mkdir there1; \
131 ${GCP} afile1 afile2 symlink1 there1/; \
132 ls -lR > ../cp_files_dir.gnu;
133
134 @echo;
135 rm -rf cp_tests/{afile{1,2},symlink1,there1};
136
137 @echo;
138 cd cp_tests; \
139 echo A file number one > afile1; \
140 echo A file number two, blah. > afile2; \
141 ln -s afile1 symlink1; \
142 mkdir there1; \
143 ${BCP} afile1 afile2 symlink1 there1/; \
144 ls -lR > ../cp_files_dir.bb;
145
146 @echo;
147 diff -u cp_files_dir.gnu cp_files_dir.bb;
148
149 @echo;
150 rm -rf cp_tests/{afile{1,2},symlink1,there1};
151
152 @echo; echo;
153 cd cp_tests; \
154 echo A file number one > afile1; \
155 echo A file number two, blah. > afile2; \
156 ln -s afile1 symlink1; \
157 mkdir there1; \
158 ${GCP} -d afile1 afile2 symlink1 there1/; \
159 ls -lR > ../cp_d_files_dir.gnu;
160
161 @echo;
162 rm -rf cp_tests/{afile{1,2},symlink1,there1};
163
164 @echo;
165 cd cp_tests; \
166 echo A file number one > afile1; \
167 echo A file number two, blah. > afile2; \
168 ln -s afile1 symlink1; \
169 mkdir there1; \
170 ${BCP} -d afile1 afile2 symlink1 there1/; \
171 ls -lR > ../cp_d_files_dir.bb;
172
173 @echo;
174 diff -u cp_d_files_dir.gnu cp_d_files_dir.bb;
175
176 @echo;
177 rm -rf cp_tests/{afile{1,2},symlink1,there1};
178
179 @echo; echo;
180 cd cp_tests; \
181 echo A file number one > afile1; \
182 echo A file number two, blah. > afile2; \
183 touch --date='Sat Jan 29 21:24:08 PST 2000' afile1; \
184 ln -s afile1 symlink1; \
185 mkdir there1; \
186 ${GCP} -p afile1 afile2 symlink1 there1/; \
187 ls -lR > ../cp_p_files_dir.gnu;
188
189 @echo;
190 rm -rf cp_tests/{afile{1,2},symlink1,there1};
191
192 @echo;
193 cd cp_tests; \
194 echo A file number one > afile1; \
195 echo A file number two, blah. > afile2; \
196 touch --date='Sat Jan 29 21:24:08 PST 2000' afile1; \
197 ln -s afile1 symlink1; \
198 mkdir there1; \
199 ${BCP} -p afile1 afile2 symlink1 there1/; \
200 ls -lR > ../cp_p_files_dir.bb;
201
202 @echo;
203 diff -u cp_p_files_dir.gnu cp_p_files_dir.bb;
204
205 @echo;
206 rm -rf cp_tests/{afile{1,2},symlink1,there1};
207
208 @echo; echo;
209 cd cp_tests; \
210 echo A file number one > afile1; \
211 echo A file number two, blah. > afile2; \
212 touch --date='Sat Jan 29 21:24:08 PST 2000' afile1; \
213 ln -s afile1 symlink1; \
214 mkdir there1; \
215 ${GCP} -p -d afile1 afile2 symlink1 there1/; \
216 ls -lR > ../cp_pd_files_dir.gnu;
217
218 @echo;
219 rm -rf cp_tests/{afile{1,2},symlink1,there1};
220
221 @echo;
222 cd cp_tests; \
223 echo A file number one > afile1; \
224 echo A file number two, blah. > afile2; \
225 touch --date='Sat Jan 29 21:24:08 PST 2000' afile1; \
226 ln -s afile1 symlink1; \
227 mkdir there1; \
228 ${BCP} -p -d afile1 afile2 symlink1 there1/; \
229 ls -lR > ../cp_pd_files_dir.bb;
230
231 @echo;
232 diff -u cp_pd_files_dir.gnu cp_pd_files_dir.bb;
233
234 @echo;
235 rm -rf cp_tests/{afile{1,2},symlink1,there1};
236
237 @echo; echo;
238 cd cp_tests; \
239 mkdir dir{a,b}; \
240 echo A file > dira/afile; \
241 echo A file in dirb > dirb/afileindirb; \
242 ln -s dira/afile dira/alinktoafile; \
243 mkdir dira/subdir1; \
244 echo Another file > dira/subdir1/anotherfile; \
245 ls -lR . > ../cp_a_dira_dirb.gnu; \
246 ${GCP} -a dira dirb; \
247 ls -lR . >> ../cp_a_dira_dirb.gnu;
248
249 # false;
250 @echo;
251 rm -rf cp_tests/dir{a,b};
252
253 @echo;
254 cd cp_tests; \
255 mkdir dir{a,b}; \
256 echo A file > dira/afile; \
257 echo A file in dirb > dirb/afileindirb; \
258 ln -s dira/afile dira/alinktoafile; \
259 mkdir dira/subdir1; \
260 echo Another file > dira/subdir1/anotherfile; \
261 ls -lR . > ../cp_a_dira_dirb.bb; \
262 ${BCP} -a dira dirb; \
263 ls -lR . >> ../cp_a_dira_dirb.bb;
264
265 @echo;
266 diff -u cp_a_dira_dirb.gnu cp_a_dira_dirb.bb;
267
268 # false;
269 @echo;
270 rm -rf cp_tests/dir{a,b};