Index: components/cronet/tools/cr_cronet.py |
diff --git a/components/cronet/tools/cr_cronet.py b/components/cronet/tools/cr_cronet.py |
index 59a93511ca6bcac7d3d7f2c3d9da01c38bbc9d23..9967e0d7ea8796f1da7360d4d22c1b41c13e3f54 100755 |
--- a/components/cronet/tools/cr_cronet.py |
+++ b/components/cronet/tools/cr_cronet.py |
@@ -15,6 +15,25 @@ def run(command): |
print command |
return os.system(command) |
+def build(out_dir): |
+ return run ('ninja -C ' + out_dir + ' cronet_test_instrumentation_apk') |
+ |
+def install(release_arg): |
+ return run ('build/android/adb_install_apk.py ' + release_arg + \ |
+ ' --apk=CronetTest.apk') |
+ |
+def test(release_arg, extra_options): |
+ return run ('build/android/test_runner.py instrumentation '+ \ |
+ release_arg + ' --test-apk=CronetTestInstrumentation ' + \ |
+ extra_options) |
+ |
mef
2014/11/19 22:04:47
I think python guidelines suggest 2 blank lines be
mmenke
2014/11/19 22:06:56
Done.
|
+def debug(extra_options): |
+ return run ('build/android/adb_gdb --start ' + \ |
+ '--activity=.CronetTestActivity ' + \ |
+ '--program-name=CronetTest ' + \ |
+ '--package-name=org.chromium.cronet_test_apk ' + \ |
+ ' '.join(extra_options)) |
+ |
def main(): |
parser = argparse.ArgumentParser() |
parser.add_argument('command', |
@@ -24,18 +43,21 @@ def main(): |
'install', |
'proguard', |
'test', |
- 'debug']) |
+ 'build-test', |
+ 'debug', |
+ 'build-debug']) |
parser.add_argument('-r', '--release', action='store_true', |
help='use release configuration') |
- options, unknown_options = parser.parse_known_args() |
+ options, extra_options_list = parser.parse_known_args() |
print options |
- print unknown_options |
+ print extra_options_list |
gyp_defines = 'GYP_DEFINES="OS=android enable_websockets=0 '+ \ |
'disable_file_support=1 disable_ftp_support=1 '+ \ |
'use_icu_alternatives_on_android=1" ' |
out_dir = 'out/Debug' |
release_arg = '' |
+ extra_options = ' '.join(extra_options_list) |
if options.release: |
out_dir = 'out/Release' |
release_arg = ' --release' |
@@ -45,22 +67,20 @@ def main(): |
if (options.command=='sync'): |
return run ('git pull --rebase && ' + gyp_defines + ' gclient sync') |
if (options.command=='build'): |
- return run ('ninja -C ' + out_dir + ' cronet_test_instrumentation_apk') |
+ return build(out_dir) |
if (options.command=='install'): |
- return run ('build/android/adb_install_apk.py ' + release_arg + \ |
- ' --apk=CronetTest.apk') |
+ return install(release_arg) |
if (options.command=='proguard'): |
return run ('ninja -C ' + out_dir + ' cronet_sample_proguard_apk') |
if (options.command=='test'): |
- return run ('build/android/test_runner.py instrumentation '+ \ |
- release_arg + ' --test-apk=CronetTestInstrumentation ' + \ |
- ' '.join(unknown_options)) |
+ return install(release_arg) or test(release_arg, extra_options) |
+ if (options.command=='build-test'): |
+ return build(out_dir) or install(release_arg) or \ |
+ test(release_arg, extra_options) |
if (options.command=='debug'): |
- return run ('build/android/adb_gdb --start ' + \ |
- '--activity=.CronetTestActivity ' + \ |
- '--program-name=CronetTest ' + \ |
- '--package-name=org.chromium.cronet_test_apk ' + \ |
- ' '.join(unknown_options)) |
+ return install(release_arg) or debug(extra_options) |
+ if (options.command=='build-debug'): |
+ return build(out_dir) or install(release_arg) or debug(extra_options) |
parser.print_help() |
return 1 |