summaryrefslogtreecommitdiff
path: root/scripts/contrib/build-perf-test.sh
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-03-29 17:10:22 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-03-29 16:22:28 +0000
commit16ea0d406a31e08071ce7d475221f0b158165405 (patch)
tree6db003e918e7bbaa4661db4e5233e6f3444064ff /scripts/contrib/build-perf-test.sh
parent9b99b4e9284071501859df5631e9019b3000ffe9 (diff)
downloadopenembedded-core-16ea0d406a31e08071ce7d475221f0b158165405.tar.gz
openembedded-core-16ea0d406a31e08071ce7d475221f0b158165405.tar.bz2
openembedded-core-16ea0d406a31e08071ce7d475221f0b158165405.zip
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 <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/contrib/build-perf-test.sh')
-rwxr-xr-xscripts/contrib/build-perf-test.sh84
1 files changed, 49 insertions, 35 deletions
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 <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