[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit
Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/ap/app/busybox/src/testsuite/diff.tests b/ap/app/busybox/src/testsuite/diff.tests
new file mode 100755
index 0000000..6de4648
--- /dev/null
+++ b/ap/app/busybox/src/testsuite/diff.tests
@@ -0,0 +1,217 @@
+#!/bin/sh
+# Copyright 2008 by Denys Vlasenko
+# Licensed under GPLv2, see file LICENSE in this source tree.
+
+. ./testing.sh
+
+# testing "test name" "commands" "expected result" "file input" "stdin"
+
+# diff outputs date/time in the header, which should not be analysed
+# NB: sed has tab character in s command!
+TRIM_TAB="sed 's/ .*//'"
+
+testing "diff of stdin" \
+ "diff -u - input | $TRIM_TAB" \
+"\
+--- -
++++ input
+@@ -1 +1,3 @@
++qwe
+ asd
++zxc
+" \
+ "qwe\nasd\nzxc\n" \
+ "asd\n"
+
+testing "diff of stdin, no newline in the file" \
+ "diff -u - input | $TRIM_TAB" \
+"\
+--- -
++++ input
+@@ -1 +1,3 @@
++qwe
+ asd
++zxc
+\\ No newline at end of file
+" \
+ "qwe\nasd\nzxc" \
+ "asd\n"
+
+# we also test that stdin is in fact NOT read
+testing "diff of stdin, twice" \
+ 'diff - -; echo $?; wc -c' \
+ "0\n5\n" \
+ "" \
+ "stdin"
+
+testing "diff of empty file against nonempty one" \
+ "diff -u - input | $TRIM_TAB" \
+"\
+--- -
++++ input
+@@ -0,0 +1 @@
++a
+" \
+ "a\n" \
+ ""
+
+testing "diff -b treats EOF as whitespace" \
+ 'diff -ub - input; echo $?' \
+ "0\n" \
+ "abc" \
+ "abc "
+
+testing "diff -b treats all spaces as equal" \
+ 'diff -ub - input; echo $?' \
+ "0\n" \
+ "a \t c\n" \
+ "a\t \tc\n"
+
+testing "diff -B ignores changes whose lines are all blank" \
+ 'diff -uB - input; echo $?' \
+ "0\n" \
+ "a\n" \
+ "\na\n\n"
+
+testing "diff -B does not ignore changes whose lines are not all blank" \
+ "diff -uB - input | $TRIM_TAB" \
+"\
+--- -
++++ input
+@@ -1,3 +1 @@
+-
+-b
+-
++a
+" \
+ "a\n" \
+ "\nb\n\n"
+
+testing "diff always takes context from old file" \
+ "diff -ub - input | $TRIM_TAB" \
+"\
+--- -
++++ input
+@@ -1 +1,3 @@
++abc
+ a c
++def
+" \
+ "abc\na c\ndef\n" \
+ "a c\n"
+
+# testing "test name" "commands" "expected result" "file input" "stdin"
+
+# clean up
+rm -rf diff1 diff2
+
+mkdir diff1 diff2 diff2/subdir
+echo qwe >diff1/-
+echo asd >diff2/subdir/-
+optional FEATURE_DIFF_DIR
+testing "diff diff1 diff2/subdir" \
+ "diff -ur diff1 diff2/subdir | $TRIM_TAB" \
+"\
+--- diff1/-
++++ diff2/subdir/-
+@@ -1 +1 @@
+-qwe
++asd
+" \
+ "" ""
+SKIP=
+
+# using directory structure from prev test...
+optional FEATURE_DIFF_DIR
+testing "diff dir dir2/file/-" \
+ "diff -ur diff1 diff2/subdir/- | $TRIM_TAB" \
+"\
+--- diff1/-
++++ diff2/subdir/-
+@@ -1 +1 @@
+-qwe
++asd
+" \
+ "" ""
+SKIP=
+
+# using directory structure from prev test...
+mkdir diff1/test
+mkfifo diff2/subdir/test
+optional FEATURE_DIFF_DIR
+testing "diff of dir and fifo" \
+ "diff -ur diff1 diff2/subdir | $TRIM_TAB" \
+"\
+--- diff1/-
++++ diff2/subdir/-
+@@ -1 +1 @@
+-qwe
++asd
+Only in diff2/subdir: test
+" \
+ "" ""
+SKIP=
+
+# using directory structure from prev test...
+rmdir diff1/test
+echo >diff1/test
+optional FEATURE_DIFF_DIR
+testing "diff of file and fifo" \
+ "diff -ur diff1 diff2/subdir | $TRIM_TAB" \
+"\
+--- diff1/-
++++ diff2/subdir/-
+@@ -1 +1 @@
+-qwe
++asd
+File diff2/subdir/test is not a regular file or directory and was skipped
+" \
+ "" ""
+SKIP=
+
+# using directory structure from prev test...
+mkfifo diff1/test2
+optional FEATURE_DIFF_DIR
+testing "diff -rN does not read non-regular files" \
+ "diff -urN diff1 diff2/subdir | $TRIM_TAB" \
+"\
+--- diff1/-
++++ diff2/subdir/-
+@@ -1 +1 @@
+-qwe
++asd
+File diff2/subdir/test is not a regular file or directory and was skipped
+File diff1/test2 is not a regular file or directory and was skipped
+" \
+ "" ""
+SKIP=
+
+# clean up
+rm -rf diff1 diff2
+
+# NOT using directory structure from prev test...
+mkdir diff1 diff2
+echo qwe >diff1/-
+echo rty >diff2/-
+optional FEATURE_DIFF_DIR
+testing "diff diff1 diff2/" \
+ "diff -ur diff1 diff2/ | $TRIM_TAB; diff -ur .///diff1 diff2//// | $TRIM_TAB" \
+"\
+--- diff1/-
++++ diff2/-
+@@ -1 +1 @@
+-qwe
++rty
+--- .///diff1/-
++++ diff2////-
+@@ -1 +1 @@
+-qwe
++rty
+" \
+ "" ""
+SKIP=
+
+# clean up
+rm -rf diff1 diff2
+
+exit $FAILCOUNT