diff --git a/Makefile b/Makefile index 5fd00f8..ada2462 100644 --- a/Makefile +++ b/Makefile @@ -87,10 +87,7 @@ define TEST_template = @if [ -e $$(@D).log ]; then \ cmp $$(TESTTMPDIR)/$(testname).log $$(@D).log || ( \ echo "Failed test $$(@D)"; \ - echo "Was expecting on STDOUT:"; \ - cat $$(@D).log; \ - echo "Observed on STDOUT:"; \ - cat $$(TESTTMPDIR)/$(testname).log; \ + diff -u $$(@D).log $$(TESTTMPDIR)/$(testname).log; \ exit 1; \ ); \ elif [ -s $$(TESTTMPDIR)/$(testname).log ]; then \ @@ -104,10 +101,7 @@ define TEST_template = @if [ -e $$(@D).out ]; then \ cmp $$(TESTTMPDIR)/$(testname).out $$(@D).out || ( \ echo "Failed test $$(@D)"; \ - echo "Was expecting on STDOUT:"; \ - cat $$(@D).out; \ - echo "Observed on STDOUT:"; \ - cat $$(TESTTMPDIR)/$(testname).out; \ + diff -u $$(@D).out $$(TESTTMPDIR)/$(testname).out; \ exit 1; \ ); \ elif [ -s $$(TESTTMPDIR)/$(testname).out ]; then \ @@ -121,10 +115,7 @@ define TEST_template = @if [ -e $$(@D).err ]; then \ cmp $$(TESTTMPDIR)/$(testname).err $$(@D).err || ( \ echo "Failed test $$(@D)"; \ - echo "Was expecting on STDERR:"; \ - cat $$(@D).err; \ - echo "Observed on STDERR:"; \ - cat $$(TESTTMPDIR)/$(testname).err; \ + diff -u $$(@D).err $$(TESTTMPDIR)/$(testname).err; \ exit 1; \ ); \ elif [ -s $$(TESTTMPDIR)/$(testname).err ]; then \ diff --git a/t3.c b/t3.c index 2dfb735..92358f6 100644 --- a/t3.c +++ b/t3.c @@ -89,9 +89,6 @@ struct message *stderr_head = NULL; struct message *stderr_tail = NULL; int stderr_queuelen = 0; -// Mutex for thread-safe access to the queues -// TODO: remove because we are not using threads - static void usage(const int rc) { printf("Usage: t3 [OPTION] FILE -- COMMAND ARGS ...\n"); printf("Invoke provided command and write its colorized, " diff --git a/tests/fibonacci.args b/tests/fibonacci.args index 07e56ab..b235255 100644 --- a/tests/fibonacci.args +++ b/tests/fibonacci.args @@ -1 +1 @@ --- sh -c 'n=100; x=0; y=1; z=$x; function out() { if [ `expr $1 % 2` -eq 0 ]; then echo "$1: evens to stdout"; else echo "$1: odds to stderr" 1>&2; fi }; for i in `seq 1 $n`; do x=`expr $x + $y`; y=$z; z=$x; out $x; done' +-- bash -c 'n=100; x=0; y=1; z=$x; function out() { if [ `expr $1 % 2` -eq 0 ]; then echo "$1: evens to stdout"; else echo "$1: odds to stderr" 1>&2; fi }; for i in `seq 1 $n`; do x=`expr $x + $y`; y=$z; z=$x; out $x; done'