123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- #!/bin/bash
- #testing "name" "command" "result" "infile" "stdin"
- seq 10 > left
- seq 11 > right
- testcmd "unknown argument" '--oops left right 2>/dev/null ; echo $?' "2\n" "" ""
- testcmd "missing" 'missing1 missing2 2>/dev/null ; echo $?' "2\n" "" ""
- testcmd "- -" '- - ; echo $?' "0\n" "" "whatever"
- testcmd "simple" "-u -L lll -L rrr left right" '--- lll
- +++ rrr
- @@ -8,3 +8,4 @@
- 8
- 9
- 10
- +11
- ' "" ""
- mkdir -p tree1 tree2
- echo foo > tree1/file
- echo food > tree2/file
- # Debian's diff gratuitously echoes its command line with -r. No idea why.
- testcmd "-r" "-u -r -L tree1/file -L tree2/file tree1 tree2 | grep -v ^diff" \
- '--- tree1/file
- +++ tree2/file
- @@ -1 +1 @@
- -foo
- +food
- ' "" ""
- echo -e "hello\r\nworld\r\n"> a
- echo -e "hello\nworld\n"> b
- testcmd "--strip-trailing-cr off" "-q a b" "Files a and b differ\n" "" ""
- testcmd "--strip-trailing-cr on" '-u --strip-trailing-cr a b; echo $?' \
- "0\n" "" ""
- echo -e "1\n2" > aa
- echo -e "1\n3" > bb
- testcmd "line format" "--unchanged-line-format=U%l --old-line-format=D%l --new-line-format=A%l aa bb" "U1D2A3" "" ""
- testcmd "line format empty" "--unchanged-line-format= --old-line-format=D%l --new-line-format=A%l aa bb" "D2A3" "" ""
- mkfifo fifo1
- mkfifo fifo2
- echo -e "1\n2" > fifo1&
- echo -e "1\n3" > fifo2&
- testcmd "fifos" "-u -L fifo1 -L fifo2 fifo1 fifo2" '--- fifo1
- +++ fifo2
- @@ -1,2 +1,2 @@
- 1
- -2
- +3
- ' "" ""
- echo -e 'int bar() {
- }
- int foo() {
- }
- int baz() {
- 1
- {2
- 3
- 4
- foo
- }
- '> a
- echo -e 'int barbar() {
- }
- int foo() {
- }
- int baz() {
- 1a
- {2
- 3
- 4
- bar
- }
- '> b
- testcmd 'show function' "--show-function-line=' {$' -U1 -L lll -L rrr a b" \
- '--- lll
- +++ rrr
- @@ -1,2 +1,2 @@
- -int bar() {
- +int barbar() {
- }
- @@ -7,3 +7,3 @@ int foo() {
- int baz() {
- - 1
- + 1a
- {2
- @@ -11,3 +11,3 @@ int baz() {
- 4
- - foo
- + bar
- }
- ' \
- '' ''
- seq 1 100000 > one
- seq 1 4 100000 > two
- testcmd 'big hunk' '-u --label nope --label nope one two' \
- "$(echo -e '--- nope\n+++ nope\n@@ -1,100000 +1,25000 @@'; for((i=1;i<=100000;i++)); do (((i-1)&3)) && echo "-$i" || echo " $i"; done)\n" '' ''
- rm one two
|