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.

(From OE-Core rev: 16ea0d406a31e08071ce7d475221f0b158165405)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2013-03-29 17:10:22 +02:00
parent c6f9e4a675
commit a105bc40ad
1 changed files with 49 additions and 35 deletions

View File

@ -36,23 +36,25 @@ cat << EOT
Usage: $ME [-h]
$ME [-c <commit>] [-v] [-m <val>] [-j <val>] [-t <val>] [-i <image-name>] [-d <path>]
Options:
-h
Display this help and exit.
-c <commit>
git checkout <commit> before anything else
-v
Show bitbake output, don't redirect it to a log.
-m <machine>
Value for MACHINE. Default is qemux86.
-j <val>
Value for PARALLEL_MAKE. Default is 8.
-t <val>
Value for BB_NUMBER_THREADS. Default is 8.
-h
Display this help and exit.
-c <commit>
git checkout <commit> before anything else
-v
Show bitbake output, don't redirect it to a log.
-m <machine>
Value for MACHINE. Default is qemux86.
-j <val>
Value for PARALLEL_MAKE. Default is 8.
-t <val>
Value for BB_NUMBER_THREADS. Default is 8.
-i <image-name>
Instead of timing agains core-image-sato, use <image-name>
-d <path>
Use <path> as DL_DIR
-p <githash>
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