aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2016-03-27 20:25:55 +0200
committerMattias Andrée <maandree@kth.se>2016-03-27 20:25:55 +0200
commitcedf554c523f0eeabf74ab4af39f21e474fe5667 (patch)
tree292f060c90177ac987b9fea475ed91289ac4ad3b
parentAdd uniq test (diff)
downloadbase-util-tests-cedf554c523f0eeabf74ab4af39f21e474fe5667.tar.gz
base-util-tests-cedf554c523f0eeabf74ab4af39f21e474fe5667.tar.bz2
base-util-tests-cedf554c523f0eeabf74ab4af39f21e474fe5667.tar.xz
m + add cat test
Signed-off-by: Mattias Andrée <maandree@kth.se>
-rw-r--r--cat-test/10
-rw-r--r--cat-test/12345bin0 -> 53 bytes
-rw-r--r--cat-test/21
-rw-r--r--cat-test/31
-rw-r--r--cat-test/45
-rw-r--r--cat-test/5bin0 -> 40 bytes
-rwxr-xr-xcat-test/test98
-rwxr-xr-xtest-all2
-rwxr-xr-xuniq-test/test3
9 files changed, 109 insertions, 1 deletions
diff --git a/cat-test/1 b/cat-test/1
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/cat-test/1
diff --git a/cat-test/12345 b/cat-test/12345
new file mode 100644
index 0000000..a2ec83d
--- /dev/null
+++ b/cat-test/12345
Binary files differ
diff --git a/cat-test/2 b/cat-test/2
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/cat-test/2
@@ -0,0 +1 @@
+
diff --git a/cat-test/3 b/cat-test/3
new file mode 100644
index 0000000..81bf396
--- /dev/null
+++ b/cat-test/3
@@ -0,0 +1 @@
+ab
diff --git a/cat-test/4 b/cat-test/4
new file mode 100644
index 0000000..0fec236
--- /dev/null
+++ b/cat-test/4
@@ -0,0 +1,5 @@
+a
+b
+c
+d
+e \ No newline at end of file
diff --git a/cat-test/5 b/cat-test/5
new file mode 100644
index 0000000..8590742
--- /dev/null
+++ b/cat-test/5
Binary files differ
diff --git a/cat-test/test b/cat-test/test
new file mode 100755
index 0000000..b735768
--- /dev/null
+++ b/cat-test/test
@@ -0,0 +1,98 @@
+#!/bin/bash
+
+cd -- "$(dirname "$0")"
+if test -z "$CAT"; then
+ CAT=../cat
+fi
+N=5
+c="$PREFIX $CAT"
+
+report ()
+{
+ if test $1 = 0; then
+ printf "\033[1;32mTest %s OK\033[m\n" "$2"
+ else
+ printf "\033[1;31mTest %s FAILED\033[m\n" "$2"
+ fi
+}
+
+test_file ()
+{
+ diff <($c < $1) $1 > /dev/null
+ report $? "file_$1"
+}
+
+
+file_1 () { test_file 1; }
+file_2 () { test_file 2; }
+file_3 () { test_file 3; }
+file_4 () { test_file 4; }
+file_5 () { test_file 5; }
+
+dash ()
+{
+ diff <($c - < 4) 4 > /dev/null
+ report $? "dash"
+}
+
+dash_many ()
+{
+ diff <($c - - - - < 4) 4 > /dev/null
+ report $? "dash_many"
+}
+
+file_one ()
+{
+ diff <($c 4) 4 > /dev/null
+ report $? "file_one"
+}
+
+file_many ()
+{
+ diff <($c 1 2 3 4 5) 12345 > /dev/null
+ report $? "file_many"
+}
+
+file_dash ()
+{
+ diff <($c 1 2 3 4 - < 5) 12345 > /dev/null
+ report $? "file_dash"
+}
+
+uflag ()
+{
+ touch tmp; rm tmp
+ touch tmp1; rm tmp1
+ touch tmp2; rm tmp2
+ (
+ printf 123
+ sleep 0.1
+ cat tmp > tmp1
+ ) | $c -u > tmp
+ printf 123 > tmp2
+ diff tmp tmp1 > /dev/null &&
+ diff tmp tmp2 > /dev/null
+ report $? "uflag"
+ rm tmp tmp1 tmp2
+}
+
+
+if test $# = 0; then
+ set $(printf 'file_%i\n' $(seq 1 $N)) dash dash_many file_one file_many file_dash uflag
+fi
+(
+for f in $@; do
+ $f
+done
+) | tee result
+! grep FAILED < result > /dev/null
+ret=$?
+if test $ret != 0; then
+ if test $(grep FAILED < result | grep -v NON-POSIX | wc -l) = 0; then
+ ret=1
+ else
+ ret=2
+ fi
+fi
+rm result
+exit $ret
diff --git a/test-all b/test-all
index 34ce139..945e538 100755
--- a/test-all
+++ b/test-all
@@ -6,7 +6,7 @@ function all()
{
echo patch md5sum rawshake256sum rawshake512sum sha1sum sha224sum sha256sum sha3-224sum \
sha3-256sum sha3-384sum sha3-512sum sha384sum sha512-224sum sha512-256sum sha512sum \
- shake256sum shake512sum cksum true false echo test basename dirname uniq
+ shake256sum shake512sum cksum true false echo test basename dirname uniq cat
}
exec 99>&2
diff --git a/uniq-test/test b/uniq-test/test
index f5393a0..a175632 100755
--- a/uniq-test/test
+++ b/uniq-test/test
@@ -111,6 +111,9 @@ file_out ()
{
$u - tmp < 5.in && diff tmp 5.out > /dev/null
report $? "file_out"
+ if test -f tmp; then
+ rm tmp
+ fi
}
dash_out ()