Index: PRESUBMIT.py |
diff --git a/tools/android-ll-prof.sh b/PRESUBMIT.py |
old mode 100755 |
new mode 100644 |
similarity index 52% |
copy from tools/android-ll-prof.sh |
copy to PRESUBMIT.py |
index 436f262bb3682d5b6a6c408f02159ab5da205eca..0077be941a00f77d92f1571c12c899e441d3e22b |
--- a/tools/android-ll-prof.sh |
+++ b/PRESUBMIT.py |
@@ -1,4 +1,3 @@ |
-#!/bin/bash |
# Copyright 2012 the V8 project authors. All rights reserved. |
# Redistribution and use in source and binary forms, with or without |
# modification, are permitted provided that the following conditions are |
@@ -26,44 +25,47 @@ |
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
-# Runs d8 with the given arguments on the device under 'perf' and |
-# processes the profiler trace and v8 logs using ll_prof.py. |
-# |
-# Usage: |
-# > ./tools/android-ll-prof.sh (debug|release) "args to d8" "args to ll_prof.py" |
-# |
-# The script creates deploy directory deploy/data/local/tmp/v8, copies there |
-# the d8 binary either from out/android_arm.release or out/android_arm.debug, |
-# and then sync the deploy directory with /data/local/tmp/v8 on the device. |
-# You can put JS files in the deploy directory before running the script. |
-# Note: $ANDROID_NDK_ROOT must be set. |
+"""Top-level presubmit script for V8. |
-MODE=$1 |
-RUN_ARGS=$2 |
-LL_PROF_ARGS=$3 |
+See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts |
+for more details about the presubmit API built into gcl. |
+""" |
-BASE=`cd $(dirname "$0")/..; pwd` |
-DEPLOY="$BASE/deploy" |
+def _V8PresubmitChecks(input_api, output_api): |
+ """Runs the V8 presubmit checks.""" |
+ import sys |
+ sys.path.append(input_api.os_path.join( |
+ input_api.PresubmitLocalPath(), 'tools')) |
+ from presubmit import CppLintProcessor |
+ from presubmit import SourceProcessor |
-set +e |
-mkdir -p "$DEPLOY/data/local/tmp/v8" |
+ results = [] |
+ if not CppLintProcessor().Run(input_api.PresubmitLocalPath()): |
+ results.append(output_api.PresubmitError("C++ lint check failed")) |
+ if not SourceProcessor().Run(input_api.PresubmitLocalPath()): |
+ results.append(output_api.PresubmitError( |
+ "Copyright header and trailing whitespaces check failed")) |
+ return results |
-cp "$BASE/out/android_arm.$MODE/d8" "$DEPLOY/data/local/tmp/v8/d8" |
-adb -p "$DEPLOY" sync data |
+def _CommonChecks(input_api, output_api): |
+ """Checks common to both upload and commit.""" |
+ results = [] |
+ results.extend(input_api.canned_checks.CheckOwners( |
+ input_api, output_api, source_file_filter=None)) |
+ return results |
-adb shell "cd /data/local/tmp/v8;\ |
- perf record -R -e cycles -c 10000 -f -i \ |
- ./d8 --ll_prof --gc-fake-mmap=/data/local/tmp/__v8_gc__ $RUN_ARGS" |
-adb pull /data/local/tmp/v8/v8.log . |
-adb pull /data/local/tmp/v8/v8.log.ll . |
-adb pull /data/perf.data . |
+def CheckChangeOnUpload(input_api, output_api): |
+ results = [] |
+ results.extend(_CommonChecks(input_api, output_api)) |
+ return results |
-ARCH=arm-linux-androideabi-4.6 |
-TOOLCHAIN="${ANDROID_NDK_ROOT}/toolchains/$ARCH/prebuilt/linux-x86/bin" |
-$BASE/tools/ll_prof.py --host-root="$BASE/deploy" \ |
- --gc-fake-mmap=/data/local/tmp/__v8_gc__ \ |
- --objdump="$TOOLCHAIN/arm-linux-androideabi-objdump" \ |
- $LL_PROF_ARGS |
+def CheckChangeOnCommit(input_api, output_api): |
+ results = [] |
+ results.extend(_CommonChecks(input_api, output_api)) |
+ results.extend(input_api.canned_checks.CheckChangeHasDescription( |
+ input_api, output_api)) |
+ results.extend(_V8PresubmitChecks(input_api, output_api)) |
+ return results |