mirror of
https://github.com/sheumann/hush.git
synced 2024-12-21 08:29:45 +00:00
diff: add testsuite entry for it
This commit is contained in:
parent
dccfe05e17
commit
cee01cfb2e
124
testsuite/diff.tests
Executable file
124
testsuite/diff.tests
Executable file
@ -0,0 +1,124 @@
|
||||
#!/bin/sh
|
||||
# Copyright 2008 by Denys Vlasenko
|
||||
# Licensed under GPL v2, see file LICENSE for details.
|
||||
|
||||
. testing.sh
|
||||
|
||||
# testing "test name" "options" "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 "test name" "options" "expected result" "file input" "stdin"
|
||||
|
||||
rm -rf diff1 diff2
|
||||
mkdir diff1 diff2 diff2/subdir
|
||||
echo qwe >diff1/-
|
||||
echo asd >diff2/subdir/-
|
||||
testing "diff diff1 diff2/subdir" \
|
||||
"diff -ur diff1 diff2/subdir | $TRIM_TAB" \
|
||||
"\
|
||||
--- diff1/-
|
||||
+++ diff2/subdir/-
|
||||
@@ -1 +1 @@
|
||||
-qwe
|
||||
+asd
|
||||
" \
|
||||
"" ""
|
||||
|
||||
# using directory structure from prev test...
|
||||
testing "diff dir dir2/file/-" \
|
||||
"diff -ur diff1 diff2/subdir/- | $TRIM_TAB" \
|
||||
"\
|
||||
--- diff1/-
|
||||
+++ diff2/subdir/-
|
||||
@@ -1 +1 @@
|
||||
-qwe
|
||||
+asd
|
||||
" \
|
||||
"" ""
|
||||
|
||||
# using directory structure from prev test...
|
||||
mkdir diff1/test
|
||||
mkfifo diff2/subdir/test
|
||||
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
|
||||
" \
|
||||
"" ""
|
||||
|
||||
# using directory structure from prev test...
|
||||
rmdir diff1/test
|
||||
echo >diff1/test
|
||||
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
|
||||
" \
|
||||
"" ""
|
||||
|
||||
# using directory structure from prev test...
|
||||
mkfifo diff1/test2
|
||||
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
|
||||
" \
|
||||
"" ""
|
||||
|
||||
# clean up
|
||||
rm -rf diff1 diff2
|
||||
|
||||
exit $FAILCOUNT
|
Loading…
Reference in New Issue
Block a user