From 8bafdb17252a50c3404f2850746ab55eb39e6b82 Mon Sep 17 00:00:00 2001 From: 3djc Date: Wed, 14 Sep 2016 18:55:37 +0200 Subject: [PATCH] 3djc/faster local commit tests (#3800) * Allow passing desired core usage for commit-tests (speed up local execution) * Cosmetics * Cosmetics * Allow make style -j8 as well * Looks better like this I think --- tools/commit-tests.sh | 101 +++++++++++++++++++++++++----------------- 1 file changed, 60 insertions(+), 41 deletions(-) diff --git a/tools/commit-tests.sh b/tools/commit-tests.sh index 80fda21c6..9b97059a8 100755 --- a/tools/commit-tests.sh +++ b/tools/commit-tests.sh @@ -1,5 +1,25 @@ #!/bin/bash +# Allow variable core usage, default uses two cores, to set 8 cores for example : commit-tests.sh -j8 +CORES=2 +for i in "$@" +do +case $i in + --jobs=*) + CORES="${i#*=}" + shift + ;; + -j*) + CORES="${i#*j}" + shift + ;; + *) + echo 'Usage : commit-test.sh --jobs=2 or commit-test.sh -j2' + exit + ;; +esac +done + # Stops on first error, echo on set -e set -x @@ -9,104 +29,103 @@ SRCDIR=$(dirname "$SCRIPT")/.. COMMON_OPTIONS="-DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=/opt/qt55" mkdir build || true -cd build +cd build # OpenTX on 9X stock with FrSky telemetry rm -rf * cmake ${COMMON_OPTIONS} -DPCB=9X -DHELI=YES -DTEMPLATES=YES -DTELEMETRY=FRSKY ${SRCDIR} -make -j2 firmware -make -j2 simu -make -j2 gtests ; ./gtests +make -j${CORES} firmware +make -j${CORES} simu +make -j${CORES} gtests ; ./gtests # OpenTX on 9X stock with Ardupilot telemetry rm -rf * cmake ${COMMON_OPTIONS} -DPCB=9X -DHELI=YES -DTEMPLATES=YES -DTELEMETRY=ARDUPILOT ${SRCDIR} -make -j2 firmware +make -j${CORES} firmware # OpenTX on 9X stock with JETI telemetry rm -rf * cmake ${COMMON_OPTIONS} -DPCB=9X -DHELI=YES -DTEMPLATES=YES -DTELEMETRY=JETI ${SRCDIR} -make -j2 firmware +make -j${CORES} firmware # OpenTX on Mega2560 rm -rf * cmake ${COMMON_OPTIONS} -DPCB=MEGA2560 -DTEMPLATES=YES -DHELI=YES ${SRCDIR} -make -j2 firmware -make -j2 simu -make -j2 gtests ; ./gtests +make -j${CORES} firmware +make -j${CORES} simu +make -j${CORES} gtests ; ./gtests # OpenTX on Mega2560 with Mavlink telemetry rm -rf * cmake ${COMMON_OPTIONS} -DPCB=MEGA2560 -DTELEMETRY=MAVLINK -DHELI=YES -DTEMPLATES=YES -DAUDIO=YES -DVOICE=YES ${SRCDIR} -make -j2 firmware -make -j2 simu -make -j2 gtests ; ./gtests +make -j${CORES} firmware +make -j${CORES} simu +make -j${CORES} gtests ; ./gtests # OpenTX on gruvin9x board rm -rf * cmake ${COMMON_OPTIONS} -DPCB=GRUVIN9X -DHELI=YES -DTEMPLATES=YES -DAUDIO=YES -DVOICE=YES ${SRCDIR} -make -j2 firmware -make -j2 simu -make -j2 gtests ; ./gtests +make -j${CORES} firmware +make -j${CORES} simu +make -j${CORES} gtests ; ./gtests # OpenTX on Sky9x rm -rf * cmake ${COMMON_OPTIONS} -DPCB=SKY9X -DHELI=YES ${SRCDIR} -make -j2 firmware -make -j2 simu -make -j2 gtests ; ./gtests +make -j${CORES} firmware +make -j${CORES} simu +make -j${CORES} gtests ; ./gtests # OpenTX on AR9X rm -rf * cmake ${COMMON_OPTIONS} -DPCB=AR9X -DHELI=YES ${SRCDIR} -make -j2 firmware -make -j2 simu -make -j2 gtests ; ./gtests +make -j${CORES} firmware +make -j${CORES} simu +make -j${CORES} gtests ; ./gtests # OpenTX on X7D rm -rf * cmake ${COMMON_OPTIONS} -DPCB=X7D -DHELI=YES ${SRCDIR} -make -j2 firmware -make -j2 simu -make -j2 gtests ; ./gtests +make -j${CORES} firmware +make -j${CORES} simu +make -j${CORES} gtests ; ./gtests # OpenTX on X9D rm -rf * cmake ${COMMON_OPTIONS} -DPCB=X9D -DHELI=YES -DLUA=YES -DWARNINGS_AS_ERRORS=YES ${SRCDIR} -make -j2 firmware -make -j2 simu -make -j2 gtests ; ./gtests +make -j${CORES} firmware +make -j${CORES} simu +make -j${CORES} gtests ; ./gtests # OpenTX on X9D+ rm -rf * cmake ${COMMON_OPTIONS} -DPCB=X9D -DHELI=YES -DLUA=YES -DWARNINGS_AS_ERRORS=YES ${SRCDIR} -make -j2 firmware -make -j2 simu -make -j2 gtests ; ./gtests +make -j${CORES} firmware +make -j${CORES} simu +make -j${CORES} gtests ; ./gtests # OpenTX on Taranis X9E rm -rf * cmake ${COMMON_OPTIONS} -DPCB=X9E -DHELI=YES -DLUA=YES -DWARNINGS_AS_ERRORS=YES -DPPM_UNIT=PERCENT_PREC1 ${SRCDIR} -make -j2 firmware -make -j2 simu -make -j2 gtests ; ./gtests +make -j${CORES} firmware +make -j${CORES} simu +make -j${CORES} gtests ; ./gtests # OpenTX on Horus beta boards rm -rf * cmake ${COMMON_OPTIONS} -DPCB=HORUS -DPCBREV=10 -DHELI=NO -DUSB=SERIAL -DCLI=YES -DDEBUG=YES -DGVARS=YES ${SRCDIR} -make -j2 firmware -make -j2 simu -# make -j2 gtests ; ./gtests +make -j${CORES} firmware +make -j${CORES} simu +# make -j${CORES} gtests ; ./gtests # OpenTX on Horus rm -rf * cmake ${COMMON_OPTIONS} -DPCB=HORUS -DHELI=NO -DUSB=SERIAL -DCLI=YES -DDEBUG=YES -DGVARS=YES ${SRCDIR} -make -j2 firmware -make -j2 simu -# make -j2 gtests ; ./gtests +make -j${CORES} firmware +make -j${CORES} simu +# make -j${CORES} gtests ; ./gtests # Companion rm -rf * cmake ${COMMON_OPTIONS} ${SRCDIR} -make -j2 - +make -j${CORES}