2 # Copyright 2008 by Denys Vlasenko
3 # Licensed under GPLv2, see file LICENSE in this source tree.
7 # testing "test name" "commands" "expected result" "file input" "stdin"
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/ .*//'"
13 testing "diff of stdin" \
14 "diff -u - input | $TRIM_TAB" \
26 testing "diff of stdin, no newline in the file" \
27 "diff -u - input | $TRIM_TAB" \
35 \\ No newline at end of file
40 # we also test that stdin is in fact NOT read
41 testing "diff of stdin, twice" \
42 'diff - -; echo $?; wc -c' \
47 testing "diff of empty file against nonempty one" \
48 "diff -u - input | $TRIM_TAB" \
58 testing "diff -b treats EOF as whitespace" \
59 'diff -ub - input; echo $?' \
64 testing "diff -b treats all spaces as equal" \
65 'diff -ub - input; echo $?' \
70 testing "diff -B ignores changes whose lines are all blank" \
71 'diff -uB - input; echo $?' \
76 testing "diff -B does not ignore changes whose lines are not all blank" \
77 "diff -uB - input | $TRIM_TAB" \
90 testing "diff always takes context from old file" \
91 "diff -ub - input | $TRIM_TAB" \
103 # testing "test name" "commands" "expected result" "file input" "stdin"
108 mkdir diff1 diff2 diff2/subdir
110 echo asd >diff2/subdir/-
111 optional FEATURE_DIFF_DIR
112 testing "diff diff1 diff2/subdir" \
113 "diff -ur diff1 diff2/subdir | $TRIM_TAB" \
124 # using directory structure from prev test...
125 optional FEATURE_DIFF_DIR
126 testing "diff dir dir2/file/-" \
127 "diff -ur diff1 diff2/subdir/- | $TRIM_TAB" \
138 # using directory structure from prev test...
140 mkfifo diff2/subdir/test
141 optional FEATURE_DIFF_DIR
142 testing "diff of dir and fifo" \
143 "diff -ur diff1 diff2/subdir | $TRIM_TAB" \
150 Only in diff2/subdir: test
155 # using directory structure from prev test...
158 optional FEATURE_DIFF_DIR
159 testing "diff of file and fifo" \
160 "diff -ur diff1 diff2/subdir | $TRIM_TAB" \
167 File diff2/subdir/test is not a regular file or directory and was skipped
172 # using directory structure from prev test...
174 optional FEATURE_DIFF_DIR
175 testing "diff -rN does not read non-regular files" \
176 "diff -urN diff1 diff2/subdir | $TRIM_TAB" \
183 File diff2/subdir/test is not a regular file or directory and was skipped
184 File diff1/test2 is not a regular file or directory and was skipped
192 # NOT using directory structure from prev test...
196 optional FEATURE_DIFF_DIR
197 testing "diff diff1 diff2/" \
198 "diff -ur diff1 diff2/ | $TRIM_TAB; diff -ur .///diff1 diff2//// | $TRIM_TAB" \