chiark / gitweb /
Merge branch stable into master
[dgit.git] / tests / run-all
index e2e2a6f517f51b5ae99df2e663a0afca90aaba13..cfa5ce2ff1ac7c260ca04fd088547dd15b5aef84 100755 (executable)
@@ -1,13 +1,23 @@
-#!/bin/sh
+#!/bin/bash
 set -e
 # convenience script for running the tests outside adt-run
-if [ $# = 0 ]; then
-       set `run-parts --list tests/tests`
+# usage: tests/using-intree tests/run-all
+
+set -o pipefail
+
+set +e
+jcpus=`perl -MSys::CPU -we 'printf "-j%d\n", 1.34 * Sys::CPU::cpu_count()'`
+set -e
+
+if [ $# != 0 ]; then
+       set TESTSCRIPTS="$*"
 fi
-for f in $@; do
-       echo ==================================================
-       echo $f
-       $f
-       echo ==================================================
-done
-echo "ALL PASSED"
+
+mkdir -p tests/tmp
+
+export DGIT_GNUPG_STUNT_ERRLOG=$( tty -s ||: )
+
+(
+ set -x
+ exec make $jcpus -k -f tests/Makefile "$@"
+) 2>&1 |tee tests/tmp/run-all.log