Contents of /tags/mkinitrd-6_2_3/busybox/testsuite/diff.tests
Parent Directory | Revision Log
Revision 1054 -
(show annotations)
(download)
Mon May 31 20:54:44 2010 UTC (14 years, 4 months ago) by niro
File size: 3115 byte(s)
Mon May 31 20:54:44 2010 UTC (14 years, 4 months ago) by niro
File size: 3115 byte(s)
tagged 'mkinitrd-6_2_3'
1 | #!/bin/sh |
2 | # Copyright 2008 by Denys Vlasenko |
3 | # Licensed under GPL v2, see file LICENSE for details. |
4 | |
5 | . ./testing.sh |
6 | |
7 | # testing "test name" "options" "expected result" "file input" "stdin" |
8 | |
9 | # diff outputs date/time in the header, which should not be analysed |
10 | # NB: sed has tab character in s command! |
11 | TRIM_TAB="sed 's/ .*//'" |
12 | |
13 | testing "diff of stdin" \ |
14 | "diff -u - input | $TRIM_TAB" \ |
15 | "\ |
16 | --- - |
17 | +++ input |
18 | @@ -1 +1,3 @@ |
19 | +qwe |
20 | asd |
21 | +zxc |
22 | " \ |
23 | "qwe\nasd\nzxc\n" \ |
24 | "asd\n" |
25 | |
26 | testing "diff of stdin, no newline in the file" \ |
27 | "diff -u - input | $TRIM_TAB" \ |
28 | "\ |
29 | --- - |
30 | +++ input |
31 | @@ -1 +1,3 @@ |
32 | +qwe |
33 | asd |
34 | +zxc |
35 | \\ No newline at end of file |
36 | " \ |
37 | "qwe\nasd\nzxc" \ |
38 | "asd\n" |
39 | |
40 | # we also test that stdin is in fact NOT read |
41 | testing "diff of stdin, twice" \ |
42 | 'diff - -; echo $?; wc -c' \ |
43 | "0\n5\n" \ |
44 | "" \ |
45 | "stdin" |
46 | |
47 | testing "diff of empty file against nonempty one" \ |
48 | "diff -u - input | $TRIM_TAB" \ |
49 | "\ |
50 | --- - |
51 | +++ input |
52 | @@ -0,0 +1 @@ |
53 | +a |
54 | " \ |
55 | "a\n" \ |
56 | "" |
57 | |
58 | testing "diff -b treats EOF as whitespace" \ |
59 | 'diff -ub - input; echo $?' \ |
60 | "0\n" \ |
61 | "abc" \ |
62 | "abc " |
63 | |
64 | testing "diff -b treats all spaces as equal" \ |
65 | 'diff -ub - input; echo $?' \ |
66 | "0\n" \ |
67 | "a \t c\n" \ |
68 | "a\t \tc\n" |
69 | |
70 | testing "diff -B ignores changes whose lines are all blank" \ |
71 | 'diff -uB - input; echo $?' \ |
72 | "0\n" \ |
73 | "a\n" \ |
74 | "\na\n\n" |
75 | |
76 | testing "diff -B does not ignore changes whose lines are not all blank" \ |
77 | "diff -uB - input | $TRIM_TAB" \ |
78 | "\ |
79 | --- - |
80 | +++ input |
81 | @@ -1,3 +1 @@ |
82 | - |
83 | -b |
84 | - |
85 | +a |
86 | " \ |
87 | "a\n" \ |
88 | "\nb\n\n" |
89 | |
90 | testing "diff always takes context from old file" \ |
91 | "diff -ub - input | $TRIM_TAB" \ |
92 | "\ |
93 | --- - |
94 | +++ input |
95 | @@ -1 +1,3 @@ |
96 | +abc |
97 | a c |
98 | +def |
99 | " \ |
100 | "abc\na c\ndef\n" \ |
101 | "a c\n" |
102 | |
103 | # testing "test name" "options" "expected result" "file input" "stdin" |
104 | |
105 | rm -rf diff1 diff2 |
106 | mkdir diff1 diff2 diff2/subdir |
107 | echo qwe >diff1/- |
108 | echo asd >diff2/subdir/- |
109 | testing "diff diff1 diff2/subdir" \ |
110 | "diff -ur diff1 diff2/subdir | $TRIM_TAB" \ |
111 | "\ |
112 | --- diff1/- |
113 | +++ diff2/subdir/- |
114 | @@ -1 +1 @@ |
115 | -qwe |
116 | +asd |
117 | " \ |
118 | "" "" |
119 | |
120 | # using directory structure from prev test... |
121 | testing "diff dir dir2/file/-" \ |
122 | "diff -ur diff1 diff2/subdir/- | $TRIM_TAB" \ |
123 | "\ |
124 | --- diff1/- |
125 | +++ diff2/subdir/- |
126 | @@ -1 +1 @@ |
127 | -qwe |
128 | +asd |
129 | " \ |
130 | "" "" |
131 | |
132 | # using directory structure from prev test... |
133 | mkdir diff1/test |
134 | mkfifo diff2/subdir/test |
135 | testing "diff of dir and fifo" \ |
136 | "diff -ur diff1 diff2/subdir | $TRIM_TAB" \ |
137 | "\ |
138 | --- diff1/- |
139 | +++ diff2/subdir/- |
140 | @@ -1 +1 @@ |
141 | -qwe |
142 | +asd |
143 | Only in diff2/subdir: test |
144 | " \ |
145 | "" "" |
146 | |
147 | # using directory structure from prev test... |
148 | rmdir diff1/test |
149 | echo >diff1/test |
150 | testing "diff of file and fifo" \ |
151 | "diff -ur diff1 diff2/subdir | $TRIM_TAB" \ |
152 | "\ |
153 | --- diff1/- |
154 | +++ diff2/subdir/- |
155 | @@ -1 +1 @@ |
156 | -qwe |
157 | +asd |
158 | File diff2/subdir/test is not a regular file or directory and was skipped |
159 | " \ |
160 | "" "" |
161 | |
162 | # using directory structure from prev test... |
163 | mkfifo diff1/test2 |
164 | testing "diff -rN does not read non-regular files" \ |
165 | "diff -urN diff1 diff2/subdir | $TRIM_TAB" \ |
166 | "\ |
167 | --- diff1/- |
168 | +++ diff2/subdir/- |
169 | @@ -1 +1 @@ |
170 | -qwe |
171 | +asd |
172 | File diff2/subdir/test is not a regular file or directory and was skipped |
173 | File diff1/test2 is not a regular file or directory and was skipped |
174 | " \ |
175 | "" "" |
176 | |
177 | # clean up |
178 | rm -rf diff1 diff2 |
179 | |
180 | exit $FAILCOUNT |