diff options
author | Mattias Andrée <maandree@kth.se> | 2016-03-27 20:25:55 +0200 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2016-03-27 20:25:55 +0200 |
commit | cedf554c523f0eeabf74ab4af39f21e474fe5667 (patch) | |
tree | 292f060c90177ac987b9fea475ed91289ac4ad3b | |
parent | Add uniq test (diff) | |
download | base-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/1 | 0 | ||||
-rw-r--r-- | cat-test/12345 | bin | 0 -> 53 bytes | |||
-rw-r--r-- | cat-test/2 | 1 | ||||
-rw-r--r-- | cat-test/3 | 1 | ||||
-rw-r--r-- | cat-test/4 | 5 | ||||
-rw-r--r-- | cat-test/5 | bin | 0 -> 40 bytes | |||
-rwxr-xr-x | cat-test/test | 98 | ||||
-rwxr-xr-x | test-all | 2 | ||||
-rwxr-xr-x | uniq-test/test | 3 |
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 Binary files differnew file mode 100644 index 0000000..a2ec83d --- /dev/null +++ b/cat-test/12345 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 Binary files differnew file mode 100644 index 0000000..8590742 --- /dev/null +++ b/cat-test/5 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 @@ -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 () |