Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(25)

Unified Diff: tools/canned_nexe_tool.sh

Issue 11377144: add and enable validator tests for x86 (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « buildbot/buildbot_spec2k.sh ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/canned_nexe_tool.sh
diff --git a/tools/canned_nexe_tool.sh b/tools/canned_nexe_tool.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3b5d59c67f4ab33822dca06f54e639395f6b424a
--- /dev/null
+++ b/tools/canned_nexe_tool.sh
@@ -0,0 +1,137 @@
+#!/bin/bash
+# Copyright (c) 2012 The Native Client Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+#@ This script is used to update the archive of canned nexes
+#@ Note, it does not recreate every nexe from scratch but will
+#@ update those it can (currently: spec and translator nexes).
+set -o nounset
+set -o errexit
+
+readonly UP_DOWN_LOAD_SCRIPT=buildbot/file_up_down_load.sh
+
+readonly CANNED_DIR=CannedNexes
+
+readonly SPEC_BASE="tests/spec2k"
+readonly SPEC_HARNESS=${SPEC_HARNESS:-${HOME}/cpu2000-redhat64-ia32}/
+
+readonly SPEC_SETUPS_ARM=SetupPnaclArmOpt
+readonly SPEC_SETUPS_X8632=SetupPnaclX8632Opt
+readonly SPEC_SETUPS_X8664=SetupPnaclX8664Opt
+
+# for ./run_all.sh invocation
+readonly MAKEOPTS=-j8
+export MAKEOPTS
+
+######################################################################
+# Helpers
+######################################################################
+
+Banner() {
+ echo "######################################################################"
+ echo $*
+ echo "######################################################################"
+}
+
+help() {
+ egrep "^#@" $0 | cut --bytes=3-
+}
+
+DownloadCannedNexes() {
+ local arch=$1
+ local rev=$2
+ Banner "Downloading rev: ${rev} arch: ${arch}"
+ ${UP_DOWN_LOAD_SCRIPT} DownloadArchivedNexes \
+ ${rev} "${arch}_giant" giant_nexe.tar.bz2
+ # Untaring the tarball will generate "${CANNED_DIR}/" in the current directory
+ rm -rf ${CANNED_DIR}
+ tar jxf giant_nexe.tar.bz2
+}
+
+UploadCannedNexes() {
+ local arch=$1
+ local rev=$2
+ Banner "Uploading rev: ${rev} arch: ${arch}"
+ rm giant_nexe.tar.bz2
+ tar jcf giant_nexe.tar.bz2 ${CANNED_DIR}
+
+ ${UP_DOWN_LOAD_SCRIPT} UploadArchivedNexes \
+ ${rev} "${arch}_giant" giant_nexe.tar.bz2
+}
+
+AddTranslatorNexes() {
+ local arch=$1
+ local sysarch=""
+ if [[ ${arch} == "arm" ]] ; then
+ sysarch=armv7
+ elif [[ ${arch} == "x86-32" ]] ; then
+ sysarch=i686
+ elif [[ ${arch} == "x86-64" ]] ; then
+ sysarch=x86_64
+ else
+ echo "Error: unknown arch ${arch}"
+ fi
+
+ Banner "Updating Translator Nexes arch: ${arch}"
+ cp toolchain/pnacl_translator/${sysarch}/bin/*.nexe ${CANNED_DIR}
+}
+
+AddSpecNexes() {
+ local arch=$1
+ local setups=
+ local fext=
+
+ if [[ ${arch} == "arm" ]] ; then
+ setups="${SPEC_SETUPS_ARM}"
+ fext=arm
+ elif [[ ${arch} == "x86-32" ]] ; then
+ setups="${SPEC_SETUPS_X8632}"
+ fext=x8632
+ elif [[ ${arch} == "x86-64" ]] ; then
+ setups="${SPEC_SETUPS_X8664}"
+ fext=x8664
+ else
+ echo "Error: unknown arch ${arch}"
+ fi
+
+ Banner "Updating Spec Nexes arch: ${arch} setups: ${setups}"
+
+ pushd ${SPEC_BASE}
+ ./run_all.sh BuildPrerequisites "$@" bitcode
+ ./run_all.sh CleanBenchmarks
+ ./run_all.sh PopulateFromSpecHarness "${SPEC_HARNESS}"
+
+ for setup in ${setups}; do
+ ./run_all.sh BuildBenchmarks 0 ${setup}
+ done
+ popd
+
+ cp tests/spec2k/*/*.${fext} ${CANNED_DIR}
+ # we chop of the arch extension so that benchmark names
+ # are the same across architectures
+ rename 's/[.](arm|x8664|x8632)$//' ${CANNED_DIR}/*.${fext}
+}
+
+Update() {
+ local arch=$1
+ local rev_in=$2
+ local rev_out=$3
+ DownloadCannedNexes ${arch} ${rev_in}
+ AddTranslatorNexes ${arch}
+ AddSpecNexes ${arch}
+ UploadCannedNexes ${arch} ${rev_out}
+}
+
+######################################################################
+# "main"
+######################################################################
+
+if [ "$(type -t $1)" != "function" ]; then
+ echo "ERROR: unknown function '$1'." >&2
+ echo "For help, try:"
+ echo " $0 help"
+ exit 1
+fi
+
+"$@"
« no previous file with comments | « buildbot/buildbot_spec2k.sh ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698