From 538cb4a7d73ee2e62f41f2a452dccf89ba5004d9 Mon Sep 17 00:00:00 2001
From: Lars Hjemli <hjemli@gmail.com>
Date: Sun, 24 Feb 2008 19:53:51 +0100
Subject: tests/setup.sh: cleanup test script output and logging

Log the complete output from each test-script in test-output.log and tell the
user about the logfile when a test-script fails.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
---
 tests/setup.sh | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

(limited to 'tests/setup.sh')

diff --git a/tests/setup.sh b/tests/setup.sh
index 5f20286..66bf406 100755
--- a/tests/setup.sh
+++ b/tests/setup.sh
@@ -67,8 +67,10 @@ EOF
 prepare_tests()
 {
 	setup_repos
+	rm -f test-output.log 2>/dev/null
 	test_count=0
 	test_failed=0
+	echo "[$0]" "$@" >test-output.log
 	echo "$@" "($0)"
 }
 
@@ -77,7 +79,8 @@ tests_done()
 	printf "\n"
 	if test $test_failed -gt 0
 	then
-		printf "[%s of %s tests failed]\n" $test_failed $test_count
+		printf "test: *** %s failure(s), logfile=%s\n" \
+			$test_failed "$(pwd)/test-output.log"
 		false
 	fi
 }
@@ -87,8 +90,11 @@ run_test()
 	desc=$1
 	script=$2
 	((test_count++))
-	eval "$2" >test-output.log
+	printf "\ntest %d: name='%s'\n" $test_count "$desc" >>test-output.log
+	printf "test %d: eval='%s'\n" $test_count "$2" >>test-output.log
+	eval "$2" >>test-output.log 2>>test-output.log
 	res=$?
+	printf "test %d: exitcode=%d\n" $test_count $res >>test-output.log
 	if test $res = 0
 	then
 		printf " %2d) %-60s [ok]\n" $test_count "$desc"
-- 
cgit v1.2.3