Restore separate logs; cat errors to stdout.
[bertos.git] / test / run_tests.sh
index 2c6a7ae84af1a2a188689126b335a7a67ad54ff6..393d0e614ed75bea34589cf4faad97fe1aaf86e2 100755 (executable)
@@ -73,7 +73,7 @@ runout='/dev/null'
 [ "$VERBOSE" -ge 3 ] && runout='/dev/stdout'
 
 # Needed to get build/exec result code rather than tee's
-set -o pipefail
+#set -o pipefail
 
 rm -rf "${TESTOUT}.old"
 if [ -d "${TESTOUT}" ] ; then
@@ -94,19 +94,25 @@ for src in $TESTS; do
 
        [ $VERBOSE -gt 0 ] && echo "Preparing $name..."
        [ $VERBOSE -gt 4 ] && echo " $PREPARECMD"
-       if $PREPARECMD 2>&1 | tee >$buildout $testdir/$name.prep; then
+       if $PREPARECMD 2>&1 | tee -a >>$buildout $testdir/$name.prep; then
                [ $VERBOSE -gt 0 ] && echo "Building $name..."
                [ $VERBOSE -gt 4 ] && echo " $BUILDCMD"
-               if $BUILDCMD 2>&1 | tee >$buildout $testdir/$name.build; then
+               if $BUILDCMD 2>&1 | tee -a >>$buildout $testdir/$name.build; then
                        [ $VERBOSE -gt 0 ] && echo "Running $name..."
-                       if ! $exe 2>&1 | tee >$runout $testdir/$name.out; then
+                       if ! $exe 2>&1 | tee -a >>$runout $testdir/$name.out; then
                                echo "FAILED [RUN]: $name"
+                               cat $testdir/$name.out
+                               exit 2
                        fi
                else
                        echo "FAILED [BUILD]: $name"
+                       cat $testdir/$name.build
+                       exit 3
                fi
        else
                echo "FAILED [PREPARING]: $name"
+               cat $testdir/$name.prep
+               exit 4
        fi
 done