X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=blobdiff_plain;f=tests%2Frun-all;h=c93017192ee428ee1135b133bc39ea4c1f7808b7;hp=b5c5bb06abeaa13a87abfae1f5a3e208b26e5f01;hb=66d19f834577d2495c8255f042aff4d86d040049;hpb=78b07fbae13bbed34172c1bbe14235099c91e2a6 diff --git a/tests/run-all b/tests/run-all index b5c5bb06..c9301719 100755 --- a/tests/run-all +++ b/tests/run-all @@ -1,15 +1,33 @@ -#!/bin/sh +#!/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 +e -jcpus=`perl -MSys::CPU -we 'printf "-j%d\n",Sys::CPU::cpu_count()'` -set -e +set -o pipefail + +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="$*" fi -set -x -exec make $jcpus -k -f tests/Makefile "$@" +mkdir -p tests/tmp + +${DGIT_TESTS_PROGRESSIVE+:} rm -f tests/tmp/*.ok + +export DGIT_GNUPG_STUNT_ERRLOG=$( tty -s ||: ) + +( + set -x + exec make $jcpus -k -f tests/Makefile "$@" +) 2>&1 |tee tests/tmp/run-all.log