From c3a9eba0ec03fd8d5d7add17af16300e87ab11bc Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 27 Mar 2016 21:25:38 +0200 Subject: add tac test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- tac-test/1.in | 0 tac-test/1.out | 0 tac-test/12345.out | Bin 0 -> 33 bytes tac-test/2.in | 1 + tac-test/2.out | 1 + tac-test/3.in | 1 + tac-test/3.out | 1 + tac-test/4.in | 8 ++++++ tac-test/4.out | 8 ++++++ tac-test/5.in | Bin 0 -> 16 bytes tac-test/5.out | Bin 0 -> 16 bytes tac-test/test | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 12 files changed, 95 insertions(+) create mode 100644 tac-test/1.in create mode 100644 tac-test/1.out create mode 100644 tac-test/12345.out create mode 100644 tac-test/2.in create mode 100644 tac-test/2.out create mode 100644 tac-test/3.in create mode 100644 tac-test/3.out create mode 100644 tac-test/4.in create mode 100644 tac-test/4.out create mode 100644 tac-test/5.in create mode 100644 tac-test/5.out create mode 100755 tac-test/test (limited to 'tac-test') diff --git a/tac-test/1.in b/tac-test/1.in new file mode 100644 index 0000000..e69de29 diff --git a/tac-test/1.out b/tac-test/1.out new file mode 100644 index 0000000..e69de29 diff --git a/tac-test/12345.out b/tac-test/12345.out new file mode 100644 index 0000000..3b6dea8 Binary files /dev/null and b/tac-test/12345.out differ diff --git a/tac-test/2.in b/tac-test/2.in new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tac-test/2.in @@ -0,0 +1 @@ + diff --git a/tac-test/2.out b/tac-test/2.out new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tac-test/2.out @@ -0,0 +1 @@ + diff --git a/tac-test/3.in b/tac-test/3.in new file mode 100644 index 0000000..7898192 --- /dev/null +++ b/tac-test/3.in @@ -0,0 +1 @@ +a diff --git a/tac-test/3.out b/tac-test/3.out new file mode 100644 index 0000000..7898192 --- /dev/null +++ b/tac-test/3.out @@ -0,0 +1 @@ +a diff --git a/tac-test/4.in b/tac-test/4.in new file mode 100644 index 0000000..863cbb8 --- /dev/null +++ b/tac-test/4.in @@ -0,0 +1,8 @@ +a +b +c + + +d +e +f diff --git a/tac-test/4.out b/tac-test/4.out new file mode 100644 index 0000000..a9396d4 --- /dev/null +++ b/tac-test/4.out @@ -0,0 +1,8 @@ +f +e +d + + +c +b +a diff --git a/tac-test/5.in b/tac-test/5.in new file mode 100644 index 0000000..84f989f Binary files /dev/null and b/tac-test/5.in differ diff --git a/tac-test/5.out b/tac-test/5.out new file mode 100644 index 0000000..eb83d15 Binary files /dev/null and b/tac-test/5.out differ diff --git a/tac-test/test b/tac-test/test new file mode 100755 index 0000000..769e226 --- /dev/null +++ b/tac-test/test @@ -0,0 +1,75 @@ +#!/bin/bash + +cd -- "$(dirname "$0")" +if test -z "$TAC"; then + TAC=../tac +fi +N=5 +t="$PREFIX $TAC" + +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 <($t < $1.in) $1.out > /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 <($t - < 4.in) 4.out > /dev/null + report $? "dash" +} + +file_one () +{ + diff <($t 4.in) 4.out > /dev/null + report $? "file_one" +} + +file_many () +{ + diff <($t 1.in 2.in 3.in 4.in 5.in) 12345.out > /dev/null + report $? "file_many" +} + +file_dash () +{ + diff <($t 1.in 2.in 3.in 4.in - < 5.in) 12345.out > /dev/null + report $? "file_dash" +} + + +if test $# = 0; then + set $(printf 'file_%i\n' $(seq 1 $N)) dash file_one file_many file_dash +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-STANDARD | wc -l) = 0; then + ret=1 + else + ret=2 + fi +fi +rm result +exit $ret -- cgit v1.2.3-70-g09d2