Index: buildbot/buildbot_pnacl2.sh |
=================================================================== |
--- buildbot/buildbot_pnacl2.sh (revision 0) |
+++ buildbot/buildbot_pnacl2.sh (revision 0) |
@@ -0,0 +1,89 @@ |
+#!/bin/bash |
+ |
+# Script assumed to be run in native_client/ |
+if [[ $(pwd) != */native_client ]]; then |
+ echo "ERROR: must be run in native_client!" |
+ exit 1 |
+fi |
+ |
+set -x |
+set -e |
+set -u |
+ |
+###################################################################### |
+# SCRIPT CONFIG |
+###################################################################### |
+ |
+CLOBBER=${CLOBBER:-yes} |
+SCONS_COMMON="./scons --mode=opt-linux bitcode=1 -j8" |
+SPEC_HARNESS=${SPEC_HARNESS:-/home/chrome-bot/cpu2000-redhat64-ia32} |
+SETUPS="SetupPnaclArmOpt SetupPnaclX8632Opt SetupPnaclX8664Opt \ |
+ SetupPnaclTranslatorX8632Opt SetupPnaclTranslatorX8664Opt" |
+ |
+# Rough test running time classification for ARM which is our bottleneck |
+FAST_ARM="176.gcc 179.art 181.mcf 186.crafty 197.parser 254.gap 255.vortex 300.twolf" |
+MEDIUM_ARM="164.gzip 175.vpr 252.eon 256.bzip2" |
+SLOW_ARM="177.mesa 183.equake 188.ammp 253.perlbmk" |
+ |
+TestsToBuild() { |
+ local setup=$1 |
+ case ${setup} in |
+ SetupPnaclArmOpt) |
+ # we expect arm to diverge |
+ echo train ${FAST_ARM} 252.eon |
+ ;; |
+ SetupPnaclTranslator*) |
+ echo train 176.gcc |
+ ;; |
+ *) |
+ echo ${FAST_ARM} 252.eon |
+ ;; |
+ esac |
+} |
+ |
+TestsToRun() { |
+ local setup=$1 |
+ case ${setup} in |
+ SetupPnaclArmOpt) |
+ # we expect arm to diverge |
+ echo ${FAST_ARM} 252.eon |
+ ;; |
+ SetupPnaclTranslator*) |
+ echo train 176.gcc |
+ ;; |
+ *) |
+ echo ${FAST_ARM} 252.eon |
+ ;; |
+ esac |
+} |
+ |
+###################################################################### |
+# SCRIPT ACTION |
+###################################################################### |
+ |
+if [ "${CLOBBER}" == "yes" ] ; then |
+ echo @@@BUILD_STEP clobber@@@ |
+ rm -rf scons-out toolchain compiler hg ../xcodebuild ../sconsbuild ../out \ |
+ src/third_party/nacl_sdk/arm-newlib |
+ |
+ echo @@@BUILD_STEP gclient_runhooks@@@ |
+ gclient runhooks --force |
+fi |
+ |
+for platform in arm x86-32 x86-64 ; do |
+ echo @@@BUILD_STEP scons sel_ldr [${platform}]@@@ |
+ ${SCONS_COMMON} platform=${platform} sel_ldr sel_universal |
+done |
+ |
+cd tests/spec2k/ |
+ |
+ |
+for setup in ${SETUPS}; do |
+ echo @@@BUILD_STEP spec2k build [${setup}] [train]@@@ |
+ ./run_all.sh CleanBenchmarks |
jvoung - send to chromium...
2011/03/17 22:17:32
CleanBenchmarks and PopulateFromSpecHarness can al
robertm
2011/03/17 22:26:03
The time savings were not very big - will leave as
|
+ ./run_all.sh PopulateFromSpecHarness ${SPEC_HARNESS} |
+ ./run_all.sh BuildBenchmarks 0 ${setup} $(TestsToBuild ${setup}) |
jvoung - send to chromium...
2011/03/17 22:17:32
did you want to specify some parallelism with MAKE
robertm
2011/03/17 22:26:03
I was debating where to put the MAKEOPTS=-j8
ende
|
+ |
+ echo @@@BUILD_STEP spec2k run [${setup}] [train]@@@ |
+ ./run_all.sh RunBenchmarks ${setup} train $(TestsToRun ${setup}) |
+done |
Property changes on: buildbot/buildbot_pnacl2.sh |
___________________________________________________________________ |
Added: svn:executable |
+ * |
Added: svn:eol-style |
+ LF |