From 16ea0d406a31e08071ce7d475221f0b158165405 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 29 Mar 2013 17:10:22 +0200 Subject: scripts/contrib/build-perf-test.sh: add option to allow cherry-picking of fix revisions Adds a -p option to allow cherry-picking of fix revisions. Removes the final build/sstate directories to stop running out of space. Runs subsequent tasks even if one test fails. Signed-off-by: Stefan Stanacar Signed-off-by: Richard Purdie --- scripts/contrib/build-perf-test.sh | 84 ++++++++++++++++++++++---------------- 1 file changed, 49 insertions(+), 35 deletions(-) (limited to 'scripts') diff --git a/scripts/contrib/build-perf-test.sh b/scripts/contrib/build-perf-test.sh index 0f7a3a9ae5..103475d320 100755 --- a/scripts/contrib/build-perf-test.sh +++ b/scripts/contrib/build-perf-test.sh @@ -36,23 +36,25 @@ cat << EOT Usage: $ME [-h] $ME [-c ] [-v] [-m ] [-j ] [-t ] [-i ] [-d ] Options: - -h - Display this help and exit. - -c - git checkout before anything else - -v - Show bitbake output, don't redirect it to a log. - -m - Value for MACHINE. Default is qemux86. - -j - Value for PARALLEL_MAKE. Default is 8. - -t - Value for BB_NUMBER_THREADS. Default is 8. + -h + Display this help and exit. + -c + git checkout before anything else + -v + Show bitbake output, don't redirect it to a log. + -m + Value for MACHINE. Default is qemux86. + -j + Value for PARALLEL_MAKE. Default is 8. + -t + Value for BB_NUMBER_THREADS. Default is 8. -i Instead of timing agains core-image-sato, use -d Use as DL_DIR - + -p + Cherry pick githash onto the commit + Note: current working directory must be inside a poky git clone. EOT @@ -71,29 +73,32 @@ verbose=0 dldir= commit= pmake= -while getopts "hvc:m:j:t:i:d:" opt; do - case $opt in - h) usage - exit 0 - ;; - v) verbose=1 - ;; - c) commit=$OPTARG - ;; - m) export MACHINE=$OPTARG - ;; - j) pmake=$OPTARG - ;; - t) export BB_NUMBER_THREADS=$OPTARG - ;; +cherrypicks= +while getopts "hvc:m:j:t:i:d:p:" opt; do + case $opt in + h) usage + exit 0 + ;; + v) verbose=1 + ;; + c) commit=$OPTARG + ;; + m) export MACHINE=$OPTARG + ;; + j) pmake=$OPTARG + ;; + t) export BB_NUMBER_THREADS=$OPTARG + ;; i) IMAGE=$OPTARG ;; d) dldir=$OPTARG ;; - *) usage - exit 1 - ;; - esac + p) cherrypicks="$cherrypicks $OPTARG" + ;; + *) usage + exit 1 + ;; + esac done @@ -113,6 +118,12 @@ if [ -n "$commit" ]; then git pull > /dev/null 2>&1 fi +if [ -n "$cherrypicks" ]; then + for c in $cherrypicks; do + git cherry-pick $c + done +fi + rev=$(git rev-parse --short HEAD) || exit 1 OUTDIR="$clonedir/build-perf-test/results-$rev-`date "+%Y%m%d%H%M%S"`" BUILDDIR="$OUTDIR/build" @@ -176,7 +187,7 @@ bbtime () { TIMES[(( time_count++ ))]="$t" else log "Exit status was non-zero. Exit..." - exit $ret + #exit $ret fi #time by default overwrites the output file and we want to keep the results @@ -269,8 +280,8 @@ bbtime "virtual/kernel" test1_p3 () { log "Running Test 1, part 3/3: Build $IMAGE w/o sstate and report size of tmp/dir with rm_work enabled" echo "INHERIT += \"rm_work\"" >> conf/local.conf -do_rmtmp -do_rmsstate +#do_rmtmp +#do_rmsstate do_sync bbtime "$IMAGE" sed -i 's/INHERIT += \"rm_work\"//' conf/local.conf @@ -303,6 +314,9 @@ test2 log "All done" +do_rmtmp +do_rmsstate + # if we got til here write to global results echo "$rev" >> $globalres for i in "${TIMES[@]}"; do -- cgit 1.2.3-korg