diff options
Diffstat (limited to 'build/valgrind/valgrind.sh')
-rwxr-xr-x | build/valgrind/valgrind.sh | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/build/valgrind/valgrind.sh b/build/valgrind/valgrind.sh new file mode 100755 index 000000000..c46f18876 --- /dev/null +++ b/build/valgrind/valgrind.sh @@ -0,0 +1,45 @@ +#!/bin/bash +set -e +set -x + +srcdir=$PWD/src +objdir=${MOZ_OBJDIR-objdir} + +# If the objdir is a relative path, it is relative to the srcdir. +case "$objdir" in + /*) + ;; + *) + objdir="$srcdir/$objdir" + ;; +esac + +if [ ! -d $objdir ]; then + mkdir $objdir +fi +cd $objdir + +if [ "`uname -m`" = "x86_64" ]; then + _arch=64 +else + _arch=32 +fi + +TOOLTOOL_MANIFEST=browser/config/tooltool-manifests/linux${_arch}/releng.manifest +TOOLTOOL_SERVER=https://api.pub.build.mozilla.org/tooltool/ +(cd $srcdir; python /builds/tooltool.py --url $TOOLTOOL_SERVER --overwrite -m $TOOLTOOL_MANIFEST fetch ${TOOLTOOL_CACHE:+ -c ${TOOLTOOL_CACHE}}) || exit 2 + +# Note: an exit code of 2 turns the job red on TBPL. +MOZCONFIG=$srcdir/browser/config/mozconfigs/linux${_arch}/valgrind make -f $srcdir/client.mk configure || exit 2 +make -j4 || exit 2 +make package || exit 2 + +# We need to set MOZBUILD_STATE_PATH so that |mach| skips its first-run +# initialization step and actually runs the |valgrind-test| command. +export MOZBUILD_STATE_PATH=. + +# |mach valgrind-test|'s exit code will be 1 (which turns the job orange on +# TBPL) if Valgrind finds errors, and 2 (which turns the job red) if something +# else goes wrong, such as Valgrind crashing. +python2.7 $srcdir/mach valgrind-test +exit $? |