]> granicus.if.org Git - cgit/commitdiff
tests/setup.sh: cleanup test script output and logging
authorLars Hjemli <hjemli@gmail.com>
Sun, 24 Feb 2008 18:53:51 +0000 (19:53 +0100)
committerLars Hjemli <hjemli@gmail.com>
Sun, 24 Feb 2008 19:25:20 +0000 (20:25 +0100)
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

index 5f20286b75a07c91df776a5f72a5e23fc637a6fa..66bf406d09f7129566f32067282cf4da219c8a0e 100755 (executable)
@@ -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"