aboutsummaryrefslogtreecommitdiff
path: root/android_bench_suite/apply_patches.py
diff options
context:
space:
mode:
authorZhizhou Yang <zhizhouy@google.com>2017-07-22 01:20:28 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-07-22 01:20:28 +0000
commitec1dfabf71cfe08796ba80ae03f4857b2797f5f9 (patch)
treebf139ee25415cecde142e95791edba3803b2452a /android_bench_suite/apply_patches.py
parent3690e025de8daaed03c4acb02d2b054e5c4c0dd5 (diff)
parentf1a93c225b92dc0059e7d7e2de7c7bd0a493e23d (diff)
downloadtoolchain-utils-ec1dfabf71cfe08796ba80ae03f4857b2797f5f9.tar.gz
Merge branch 'aosp/mirror-chromium-master' into update_utils am: 4307f4735e am: 18caef1edd am: 6c551e0d52 am: ddfea1f7e7android-wear-9.0.0_r9android-wear-9.0.0_r8android-wear-9.0.0_r7android-wear-9.0.0_r6android-wear-9.0.0_r5android-wear-9.0.0_r4android-wear-9.0.0_r34android-wear-9.0.0_r33android-wear-9.0.0_r32android-wear-9.0.0_r31android-wear-9.0.0_r30android-wear-9.0.0_r3android-wear-9.0.0_r29android-wear-9.0.0_r28android-wear-9.0.0_r27android-wear-9.0.0_r26android-wear-9.0.0_r25android-wear-9.0.0_r24android-wear-9.0.0_r23android-wear-9.0.0_r22android-wear-9.0.0_r21android-wear-9.0.0_r20android-wear-9.0.0_r2android-wear-9.0.0_r19android-wear-9.0.0_r18android-wear-9.0.0_r17android-wear-9.0.0_r16android-wear-9.0.0_r15android-wear-9.0.0_r14android-wear-9.0.0_r13android-wear-9.0.0_r12android-wear-9.0.0_r11android-wear-9.0.0_r10android-wear-9.0.0_r1android-vts-9.0_r9android-vts-9.0_r8android-vts-9.0_r7android-vts-9.0_r6android-vts-9.0_r5android-vts-9.0_r4android-vts-9.0_r19android-vts-9.0_r18android-vts-9.0_r17android-vts-9.0_r16android-vts-9.0_r15android-vts-9.0_r14android-vts-9.0_r13android-vts-9.0_r12android-vts-9.0_r11android-vts-9.0_r10android-security-9.0.0_r76android-security-9.0.0_r75android-security-9.0.0_r74android-security-9.0.0_r73android-security-9.0.0_r72android-security-9.0.0_r71android-security-9.0.0_r70android-security-9.0.0_r69android-security-9.0.0_r68android-security-9.0.0_r67android-security-9.0.0_r66android-security-9.0.0_r65android-security-9.0.0_r64android-security-9.0.0_r63android-security-9.0.0_r62android-o-mr1-iot-release-1.0.4android-o-mr1-iot-release-1.0.3android-cts-9.0_r9android-cts-9.0_r8android-cts-9.0_r7android-cts-9.0_r6android-cts-9.0_r5android-cts-9.0_r4android-cts-9.0_r3android-cts-9.0_r20android-cts-9.0_r2android-cts-9.0_r19android-cts-9.0_r18android-cts-9.0_r17android-cts-9.0_r16android-cts-9.0_r15android-cts-9.0_r14android-cts-9.0_r13android-cts-9.0_r12android-cts-9.0_r11android-cts-9.0_r10android-cts-9.0_r1android-9.0.0_r9android-9.0.0_r8android-9.0.0_r7android-9.0.0_r61android-9.0.0_r60android-9.0.0_r6android-9.0.0_r59android-9.0.0_r58android-9.0.0_r57android-9.0.0_r56android-9.0.0_r55android-9.0.0_r54android-9.0.0_r53android-9.0.0_r52android-9.0.0_r51android-9.0.0_r50android-9.0.0_r5android-9.0.0_r49android-9.0.0_r48android-9.0.0_r47android-9.0.0_r46android-9.0.0_r45android-9.0.0_r44android-9.0.0_r43android-9.0.0_r42android-9.0.0_r41android-9.0.0_r40android-9.0.0_r39android-9.0.0_r38android-9.0.0_r37android-9.0.0_r36android-9.0.0_r35android-9.0.0_r34android-9.0.0_r33android-9.0.0_r32android-9.0.0_r31android-9.0.0_r30android-9.0.0_r3android-9.0.0_r22android-9.0.0_r21android-9.0.0_r20android-9.0.0_r2android-9.0.0_r19android-9.0.0_r18android-9.0.0_r17android-9.0.0_r16android-9.0.0_r12android-9.0.0_r11android-9.0.0_r10android-9.0.0_r1security-pi-releasepie-vts-releasepie-security-releasepie-s2-releasepie-release-2pie-releasepie-r2-s2-releasepie-r2-s1-releasepie-r2-releasepie-qpr3-s1-releasepie-qpr3-releasepie-qpr3-b-releasepie-qpr2-releasepie-qpr1-s3-releasepie-qpr1-s2-releasepie-qpr1-s1-releasepie-qpr1-releasepie-platform-releasepie-gsipie-dr1-releasepie-dr1-devpie-devpie-cuttlefish-testingpie-cts-releasepie-b4s4-releasepie-b4s4-dev
am: f1a93c225b Change-Id: I60d258ddb8fd0bf9632f1f70c5cdeb3078938059
Diffstat (limited to 'android_bench_suite/apply_patches.py')
-rwxr-xr-xandroid_bench_suite/apply_patches.py104
1 files changed, 104 insertions, 0 deletions
diff --git a/android_bench_suite/apply_patches.py b/android_bench_suite/apply_patches.py
new file mode 100755
index 00000000..fbe1a8d2
--- /dev/null
+++ b/android_bench_suite/apply_patches.py
@@ -0,0 +1,104 @@
+#!/usr/bin/env python2
+#
+# Copyright 2017 The Chromium OS Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+"""Script to patch Android repo with diffs that are needed by the suite.
+
+Run this script before running the suite.
+"""
+from __future__ import print_function
+
+import config
+import os
+import subprocess
+
+# The patches to be added to the android repo.
+# An error may occur if it is already patched, or meets some error.
+# FIXME: Needs to be FIXED in the future.
+def try_patch_skia():
+ skia_dir = os.path.join(config.android_home, config.bench_dict['Skia'])
+ # You may want to change the file based on aosp or internal
+ if config.android_type == 'internal':
+ print('No need to patch skia for internal repo.')
+ return
+ elif config.android_type == 'aosp':
+ skia_patch = os.path.join(
+ os.path.dirname(os.path.realpath(__file__)), 'skia_aosp.diff')
+ else:
+ raise ValueError('Adnroid source type should be either aosp or internal.')
+ # FIXME: A quick hack, need to handle errors and check whether has been
+ # applied in the future.
+ try:
+ subprocess.check_call(['git', '-C', skia_dir, 'apply', skia_patch])
+ print('Skia patched successfully!')
+ except subprocess.CalledProcessError:
+ print('Skia patch not applied, error or already patched.')
+
+
+def try_patch_autotest():
+ # Patch autotest, which includes all the testcases on device, setting device,
+ # and running the benchmarks
+ autotest_dir = os.path.join(config.android_home, config.autotest_dir)
+ autotest_patch = os.path.join(
+ os.path.dirname(os.path.realpath(__file__)), 'autotest.diff')
+ dex2oat_dir = os.path.join(autotest_dir, 'server/site_tests/android_Dex2oat')
+ panorama_dir = os.path.join(autotest_dir,
+ 'server/site_tests/android_Panorama')
+ # FIXME: A quick hack, need to handle errors and check whether has been
+ # applied in the future.
+ try:
+ subprocess.check_call(['git', '-C', autotest_dir, 'apply', autotest_patch])
+ subprocess.check_call(['cp', '-rf', 'dex2oat_input', dex2oat_dir])
+ subprocess.check_call(['cp', '-rf', 'panorama_input', panorama_dir])
+ print('Autotest patched successfully!')
+ except subprocess.CalledProcessError:
+ print('Autotest patch not applied, error or already patched.')
+
+
+def try_patch_panorama():
+ panorama_dir = os.path.join(config.android_home,
+ config.bench_dict['Panorama'])
+ panorama_patch = os.path.join(
+ os.path.dirname(os.path.realpath(__file__)), 'panorama.diff')
+ # FIXME: A quick hack, need to handle errors and check whether has been
+ # applied in the future.
+ try:
+ subprocess.check_call(['git', '-C', panorama_dir, 'apply', panorama_patch])
+ print('Panorama patched successfully!')
+ except subprocess.CalledProcessError:
+ print('Panorama patch not applied, error or already patched.')
+
+
+def try_patch_synthmark():
+ synthmark_dir = 'devrel/tools/synthmark'
+ # FIXME: A quick hack, need to handle errors and check whether has been
+ # applied in the future.
+ try:
+ subprocess.check_call([
+ 'bash', '-c', 'mkdir devrel && '
+ 'cd devrel && '
+ 'repo init -u sso://devrel/manifest && '
+ 'repo sync tools/synthmark'
+ ])
+ synthmark_patch = os.path.join(
+ os.path.dirname(os.path.realpath(__file__)), 'synthmark.diff')
+ subprocess.check_call(['git', '-C', synthmark_dir,
+ 'apply', synthmark_patch])
+
+ subprocess.check_call(['mv', '-f', synthmark_dir, config.android_home])
+ subprocess.check_call(['rm', '-rf', 'devrel'])
+ print('Synthmark patched successfully!')
+ except subprocess.CalledProcessError:
+ print('Synthmark patch not applied, error or already patched.')
+
+
+def main():
+ try_patch_skia()
+ try_patch_autotest()
+ try_patch_panorama()
+ try_patch_synthmark()
+
+
+if __name__ == '__main__':
+ main()