chiark / gitweb /
test suite: t-some-changes: Allow control of which files are edited
[dgit.git] / tests / run-all
index cfa5ce2ff1ac7c260ca04fd088547dd15b5aef84..c93017192ee428ee1135b133bc39ea4c1f7808b7 100755 (executable)
@@ -1,13 +1,21 @@
 #!/bin/bash
 set -e
 # convenience script for running the tests outside adt-run
-# usage: tests/using-intree tests/run-all
+# usage: tests/using-intree tests/run-all [-p|--progressive] [tests/tests/*]
 
 set -o pipefail
 
-set +e
-jcpus=`perl -MSys::CPU -we 'printf "-j%d\n", 1.34 * Sys::CPU::cpu_count()'`
-set -e
+while [ $# != 0 ]; do
+       case "$1" in
+       --progressive|-p)       shift; export DGIT_TESTS_PROGRESSIVE=y;;
+       --)                     shift; break ;;
+       -*)     echo >&2 "run-all: unknown option $1"; exit 20 ;;
+       *)                      break ;;
+       esac
+done
+
+ncpus=$(nproc || echo 1)
+jcpus=-j$(( ncpus * 134 / 100 ))
 
 if [ $# != 0 ]; then
        set TESTSCRIPTS="$*"
@@ -15,6 +23,8 @@ fi
 
 mkdir -p tests/tmp
 
+${DGIT_TESTS_PROGRESSIVE+:} rm -f tests/tmp/*.ok
+
 export DGIT_GNUPG_STUNT_ERRLOG=$( tty -s ||: )
 
 (