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

Issue 2611323002: Relanding "Multiprocess test client: Android child process launcher rework." (Closed)

Created:
3 years, 11 months ago by Jay Civelli
Modified:
3 years, 11 months ago
CC:
Aaron Boodman, abarth-chromium, agrieve+watch_chromium.org, android-webview-reviews_chromium.org, cbentzel+watch_chromium.org, chromium-reviews, darin (slow to review), darin-cc_chromium.org, einbinder+watch-test-runner_chromium.org, jam, jbudorick+watch_chromium.org, jochen+watch_chromium.org, mikecase+watch_chromium.org, mlamouri+watch-content_chromium.org, mlamouri+watch-test-runner_chromium.org, Peter Beverloo, qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, vmpstr+watch_chromium.org, yzshen+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Reland of new multiprocess test client process launcher. Changed the way the native main function is invoked so that the main stub is not required anymore. Launching in the sub-process is now done from Java by calling into the new MainRunner class whose JNI code is in the same module as the one used to start the test natively and is already linked with main(). BUG=666356 Original issue's description: > Multiprocess test client: Android child process launcher rework. > > Changing the way test start child processese on Android. > Forking natively should not be used on Andoid, instead child processes > should be started through the Android framework, which requires going > to Java and using Android services. > > For that we introduce the MultiprocessTestClientLauncher java class > which starts a service in a new process. We provide several > MultiprocessTestClientService service classes to ensure we can have > multiple child processes. > File descriptor are passed from the parent to the child process as > Parcelable, and we use the GlobalDescriptors class to register them. > > TEST=Run the mojo_system_unittests > BUG=666356 > Review-Url: https://codereview.chromium.org/2549363004 > Cr-Commit-Position: refs/heads/master@{#441799} > Committed: https://chromium.googlesource.com/chromium/src/+/5513e4622febbc838dfebddb51347ab797747836 Review-Url: https://codereview.chromium.org/2611323002 Cr-Commit-Position: refs/heads/master@{#442477} Committed: https://chromium.googlesource.com/chromium/src/+/f4462a35264c65c6e554d22b00bb76c423c2e703

Patch Set 1 : Original patch. #

Patch Set 2 : Fixed the non component build. #

Patch Set 3 : Fix BUILD.gn + sync #

Total comments: 2

Patch Set 4 : Addressed nyquist@'s comment + sync #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1007 lines, -510 lines) Patch
M android_webview/test/BUILD.gn View 1 chunk +0 lines, -1 line 0 comments Download
M base/BUILD.gn View 1 2 3 1 chunk +5 lines, -0 lines 0 comments Download
M base/debug/proc_maps_linux_unittest.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M base/files/file_locking_unittest.cc View 2 chunks +3 lines, -3 lines 0 comments Download
M base/posix/global_descriptors.h View 1 chunk +0 lines, -11 lines 0 comments Download
M base/process/process.h View 1 chunk +2 lines, -2 lines 0 comments Download
M base/process/process_posix.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M base/process/process_util_unittest.cc View 3 chunks +6 lines, -15 lines 0 comments Download
M base/process/process_win.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M base/test/BUILD.gn View 1 2 3 4 chunks +45 lines, -3 lines 0 comments Download
A base/test/android/java/src/org/chromium/base/FileDescriptorInfo.aidl View 1 chunk +7 lines, -0 lines 0 comments Download
A base/test/android/java/src/org/chromium/base/FileDescriptorInfo.java View 1 chunk +58 lines, -0 lines 0 comments Download
A base/test/android/java/src/org/chromium/base/ITestClient.aidl View 1 chunk +45 lines, -0 lines 0 comments Download
A base/test/android/java/src/org/chromium/base/MainReturnCodeResult.aidl View 1 chunk +7 lines, -0 lines 0 comments Download
A base/test/android/java/src/org/chromium/base/MainReturnCodeResult.java View 1 chunk +64 lines, -0 lines 0 comments Download
A base/test/android/java/src/org/chromium/base/MultiprocessTestClientLauncher.java View 1 chunk +293 lines, -0 lines 0 comments Download
A base/test/android/java/src/org/chromium/base/MultiprocessTestClientService.java View 1 1 chunk +143 lines, -0 lines 0 comments Download
A base/test/android/java/src/org/chromium/base/MultiprocessTestClientService0.java View 1 chunk +10 lines, -0 lines 0 comments Download
A base/test/android/java/src/org/chromium/base/MultiprocessTestClientService1.java View 1 chunk +10 lines, -0 lines 0 comments Download
A base/test/android/java/src/org/chromium/base/MultiprocessTestClientService2.java View 1 chunk +10 lines, -0 lines 0 comments Download
A base/test/android/java/src/org/chromium/base/MultiprocessTestClientService3.java View 1 chunk +10 lines, -0 lines 0 comments Download
A base/test/android/java/src/org/chromium/base/MultiprocessTestClientService4.java View 1 chunk +10 lines, -0 lines 0 comments Download
M base/test/multiprocess_test.h View 3 chunks +16 lines, -19 lines 0 comments Download
M base/test/multiprocess_test.cc View 1 chunk +13 lines, -0 lines 0 comments Download
M base/test/multiprocess_test_android.cc View 1 chunk +56 lines, -420 lines 0 comments Download
M base/test/test_support_android.cc View 1 chunk +0 lines, -3 lines 0 comments Download
M build/android/pylib/gtest/gtest_test_instance.py View 1 chunk +10 lines, -1 line 0 comments Download
M content/browser/memory/memory_coordinator_impl_unittest.cc View 1 chunk +8 lines, -1 line 0 comments Download
M ipc/run_all_unittests.cc View 1 chunk +0 lines, -3 lines 0 comments Download
M mojo/android/BUILD.gn View 1 1 chunk +1 line, -1 line 0 comments Download
M mojo/edk/embedder/platform_channel_pair.h View 1 chunk +1 line, -0 lines 0 comments Download
M mojo/edk/embedder/platform_channel_pair_posix.cc View 5 chunks +26 lines, -1 line 0 comments Download
M mojo/edk/test/multiprocess_test_helper.cc View 1 chunk +2 lines, -8 lines 0 comments Download
M mojo/edk/test/run_all_perftests.cc View 1 2 1 chunk +0 lines, -4 lines 0 comments Download
M mojo/edk/test/run_all_unittests.cc View 1 chunk +0 lines, -4 lines 0 comments Download
M testing/android/native_test/BUILD.gn View 1 3 chunks +12 lines, -0 lines 0 comments Download
M testing/android/native_test/java/AndroidManifest.xml.jinja2 View 1 chunk +12 lines, -0 lines 0 comments Download
A testing/android/native_test/java/src/org/chromium/native_test/MainRunner.java View 1 2 3 1 chunk +27 lines, -0 lines 0 comments Download
A testing/android/native_test/main_runner.h View 1 1 chunk +18 lines, -0 lines 0 comments Download
A testing/android/native_test/main_runner.cc View 1 1 chunk +56 lines, -0 lines 0 comments Download
M testing/android/native_test/native_test_launcher.cc View 1 2 3 2 chunks +4 lines, -2 lines 0 comments Download
M testing/test.gni View 3 chunks +9 lines, -4 lines 0 comments Download

Messages

Total messages: 32 (20 generated)
Jay Civelli
Had to change the way we call the main() function from the child process so ...
3 years, 11 months ago (2017-01-09 19:13:43 UTC) #14
dcheng
base lgtm
3 years, 11 months ago (2017-01-09 19:24:35 UTC) #15
boliu
android_webview rs lgtm, no change from last time :)
3 years, 11 months ago (2017-01-09 19:32:06 UTC) #16
Dirk Pranke
//testing still lgtm.
3 years, 11 months ago (2017-01-09 20:12:00 UTC) #17
jbudorick
lgtm
3 years, 11 months ago (2017-01-09 21:00:13 UTC) #19
Ken Rockot(use gerrit already)
rs lgtm
3 years, 11 months ago (2017-01-09 21:01:12 UTC) #20
nyquist
lgtm https://codereview.chromium.org/2611323002/diff/10047/testing/android/native_test/java/src/org/chromium/native_test/MainRunner.java File testing/android/native_test/java/src/org/chromium/native_test/MainRunner.java (right): https://codereview.chromium.org/2611323002/diff/10047/testing/android/native_test/java/src/org/chromium/native_test/MainRunner.java#newcode16 testing/android/native_test/java/src/org/chromium/native_test/MainRunner.java:16: public class MainRunner { Nit: This utility class ...
3 years, 11 months ago (2017-01-10 00:25:59 UTC) #21
Jay Civelli
https://codereview.chromium.org/2611323002/diff/10047/testing/android/native_test/java/src/org/chromium/native_test/MainRunner.java File testing/android/native_test/java/src/org/chromium/native_test/MainRunner.java (right): https://codereview.chromium.org/2611323002/diff/10047/testing/android/native_test/java/src/org/chromium/native_test/MainRunner.java#newcode16 testing/android/native_test/java/src/org/chromium/native_test/MainRunner.java:16: public class MainRunner { On 2017/01/10 00:25:59, nyquist wrote: ...
3 years, 11 months ago (2017-01-10 00:46:46 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2611323002/50001
3 years, 11 months ago (2017-01-10 00:47:53 UTC) #25
commit-bot: I haz the power
Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_TIMED_OUT, no build URL)
3 years, 11 months ago (2017-01-10 02:50:44 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2611323002/50001
3 years, 11 months ago (2017-01-10 04:30:14 UTC) #29
commit-bot: I haz the power
3 years, 11 months ago (2017-01-10 04:46:45 UTC) #32
Message was sent while issue was closed.
Committed patchset #4 (id:50001) as
https://chromium.googlesource.com/chromium/src/+/f4462a35264c65c6e554d22b00bb...

Powered by Google App Engine
This is Rietveld 408576698