diff options
-rwxr-xr-x | abe-bisect-helper.sh | 10 | ||||
-rwxr-xr-x | abe-bisect.sh | 6 |
2 files changed, 11 insertions, 5 deletions
diff --git a/abe-bisect-helper.sh b/abe-bisect-helper.sh index e406c823..983c7232 100755 --- a/abe-bisect-helper.sh +++ b/abe-bisect-helper.sh @@ -38,6 +38,10 @@ ${ABE}/abe.sh --target ${TARGET} gcc=gcc.git@${REV} --set runtestflags="${EXP}=$ [ $? -ne 0 ] && exit 125 sums=`find builds/*/${TARGET}/gcc.git~master_rev_${REV}-stage2/ -name "*.sum"` -grep ${TESTNAME} $sums | grep FAIL && exit 1 # FAILED -grep ${TESTNAME} $sums | grep PASS && exit 0 # SUCCESS -exit 125 # If no PASS, something went wrong +nb_fail=$(grep ${TESTNAME} $sums | grep -c FAIL) +[ ${nb_fail} -gt ${GOODFAIL} ] && exit 1 # More failures than GOOD, this is a bad one + +nb_pass=$(grep ${TESTNAME} $sums | grep -c PASS) +[ ${nb_pass} -ge ${GOODPASS} ] && exit 0 # At least as many passes as GOOD, this is a good one + +exit 125 # something went wrong diff --git a/abe-bisect.sh b/abe-bisect.sh index e510fb61..8ce6250d 100755 --- a/abe-bisect.sh +++ b/abe-bisect.sh @@ -68,7 +68,7 @@ echo BAD: $BADSHA1 [ x"$GOODSHA1" = x ] && echo "ERROR: Could not find good commit ($GOOD)" && exit 1 [ x"$BADSHA1" = x ] && echo "ERROR: Could not find bad commit ($BAD)" && exit 1 -# Sanity check: make sure BAD has more failures than GOOD +# Sanity checks on the number of passes/fails in GOOD and BAD pushd ${rundir} ${ABE}/abe.sh --target ${TARGET} gcc=gcc.git@${GOODSHA1} --set runtestflags="${EXP}=${TESTNAME}" --build all --check gcc --excludecheck gdb >& gcc-${GOODSHA1}.log if [ $? -ne 0 ]; then @@ -90,13 +90,15 @@ sums=`find builds/*/${TARGET}/gcc.git~master_rev_${BADSHA1}-stage2/ -name "*.sum bad_nb_fail=$(grep ${TESTNAME} $sums | grep -c FAIL) bad_nb_pass=$(grep ${TESTNAME} $sums | grep -c PASS) +# make sure BAD has more failures than GOOD if [ $bad_nb_fail -le $good_nb_fail ]; then echo "ERROR: BAD ($BAD) does not have more failures ($bad_nb_fail) than GOOD ($GOOD) ($good_nb_fail)" exit 1 fi + popd git bisect good ${GOODSHA1} git bisect bad ${BADSHA1} -RUNDIR=${rundir} ABE=${ABE} EXP=${EXP} TESTNAME=${TESTNAME} TARGET=${TARGET} CPU=${CPU} FPU=${FPU} MODE=${MODE} SIMU=${SIMU} TARGETBOARD=${TARGETBOARD} git bisect run ${mydir}/abe-bisect-helper.sh +RUNDIR=${rundir} ABE=${ABE} EXP=${EXP} TESTNAME=${TESTNAME} TARGET=${TARGET} CPU=${CPU} FPU=${FPU} MODE=${MODE} SIMU=${SIMU} TARGETBOARD=${TARGETBOARD} GOODPASS=${good_nb_pass} GOODFAIL=${good_nb_fail} BADPASS=${bad_nb_pass} BADFAIL=${bad_nb_fail} git bisect run ${mydir}/abe-bisect-helper.sh |