111 lines
2.0 KiB
Bash
111 lines
2.0 KiB
Bash
#!/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
|