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

Issue 1910233003: Implement a new child test helper for Android. (Closed)

Created:
4 years, 8 months ago by Anand Mistry (off Chromium)
Modified:
4 years, 7 months ago
CC:
Aaron Boodman, abarth-chromium, ben+mojo_chromium.org, chromium-reviews, darin (slow to review), qsr+mojo_chromium.org, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement a new child test helper for Android. On Android, there's no binary to exec(), therefore the existing spawning mechanism fork()s the process at the current location. Because fork() only forks the running thread, this causes problems if another thread (i.e. an IO thread) is created before the child is launched. This implementation works around this by forking a helper process very early, and using that to create a new child. Finally, use this to enable the Mojo multi-process tests on Android. BUG=585849 Committed: https://crrev.com/0027a09598062ce81944af809130692940bca515 Cr-Commit-Position: refs/heads/master@{#391130}

Patch Set 1 #

Patch Set 2 : mostly working tests #

Patch Set 3 : Enable ChannelMojo tests. #

Patch Set 4 : Cleanup. #

Patch Set 5 : Fix check failure. #

Patch Set 6 : Fix linker error. #

Patch Set 7 : Inject main(). #

Total comments: 6

Patch Set 8 : Rebase and address comments #

Patch Set 9 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+439 lines, -287 lines) Patch
M base/test/multiprocess_test.h View 1 2 3 4 5 6 7 1 chunk +16 lines, -0 lines 0 comments Download
M base/test/multiprocess_test_android.cc View 1 2 3 4 5 6 2 chunks +367 lines, -0 lines 0 comments Download
M ipc/mojo/ipc_channel_mojo_unittest.cc View 1 2 3 4 5 6 7 8 chunks +8 lines, -56 lines 0 comments Download
M ipc/mojo/run_all_unittests.cc View 1 2 3 4 5 6 2 chunks +5 lines, -0 lines 0 comments Download
M mojo/edk/embedder/embedder_unittest.cc View 1 2 3 4 5 6 7 8 2 chunks +2 lines, -14 lines 0 comments Download
M mojo/edk/system/data_pipe_unittest.cc View 1 3 chunks +3 lines, -21 lines 0 comments Download
M mojo/edk/system/message_pipe_unittest.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -7 lines 0 comments Download
M mojo/edk/system/multiprocess_message_pipe_unittest.cc View 1 17 chunks +17 lines, -125 lines 0 comments Download
M mojo/edk/system/shared_buffer_unittest.cc View 1 2 3 4 5 6 7 3 chunks +3 lines, -22 lines 0 comments Download
M mojo/edk/test/multiprocess_test_helper.cc View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M mojo/edk/test/multiprocess_test_helper_unittest.cc View 1 5 chunks +6 lines, -42 lines 0 comments Download
M mojo/edk/test/run_all_unittests.cc View 1 2 3 4 5 6 2 chunks +5 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 18 (9 generated)
Anand Mistry (off Chromium)
Please don't be mad... or sad...
4 years, 8 months ago (2016-04-26 07:15:15 UTC) #4
Ken Rockot(use gerrit already)
mojo lgtm - note there are also multiprocess (non-mojo) ipc tests in //ipc/ipc_channel_unittest.cc disabled on ...
4 years, 8 months ago (2016-04-26 16:10:57 UTC) #5
Paweł Hajdan Jr.
+mark for multiprocess code LGTM w/nits https://codereview.chromium.org/1910233003/diff/120001/base/test/multiprocess_test.h File base/test/multiprocess_test.h (right): https://codereview.chromium.org/1910233003/diff/120001/base/test/multiprocess_test.h#newcode77 base/test/multiprocess_test.h:77: // Wait for ...
4 years, 8 months ago (2016-04-26 20:19:43 UTC) #7
Anand Mistry (off Chromium)
https://codereview.chromium.org/1910233003/diff/120001/base/test/multiprocess_test.h File base/test/multiprocess_test.h (right): https://codereview.chromium.org/1910233003/diff/120001/base/test/multiprocess_test.h#newcode77 base/test/multiprocess_test.h:77: // Wait for a test child to exit if ...
4 years, 8 months ago (2016-04-26 23:50:39 UTC) #8
Anand Mistry (off Chromium)
mark: Ping! Unless there's someone else you think should be reviewing this instead.
4 years, 7 months ago (2016-05-02 00:37:54 UTC) #9
Mark Mentovai
LGTM in base. I was out of the office last week.
4 years, 7 months ago (2016-05-02 18:26:57 UTC) #11
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1910233003/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1910233003/160001
4 years, 7 months ago (2016-05-02 23:31:17 UTC) #14
commit-bot: I haz the power
Committed patchset #9 (id:160001)
4 years, 7 months ago (2016-05-03 00:53:03 UTC) #16
commit-bot: I haz the power
4 years, 7 months ago (2016-05-03 00:54:15 UTC) #18
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/0027a09598062ce81944af809130692940bca515
Cr-Commit-Position: refs/heads/master@{#391130}

Powered by Google App Engine
This is Rietveld 408576698