mirror of
https://github.com/chromium/crashpad.git
synced 2024-12-28 15:50:26 +08:00
util_test MachMessageServer.ReturnCodeNoReply: keep the child alive
until the server is done handling its request. In most tests, this is handled automatically because the client expects a reply from the server, and waits for this reply. This test is different because the server does handle the message, but does not send a reply, so the client does not wait for one. When the child process exits before the parent has had a chance to inspect the message it received, the parent will find a dead name where it expects the remote port to be, causing this test to be flaky based on the outcome of this race. The potential for a similar race existed in the MachMessageServer.ComplexNotDestroyedNoReply test because it also involved a request without a reply. In that test, the situation was handled by not allowing the child to exit until signaled to do so by the parent. The same logic should be used for both no-reply tests. TEST=util_test MachMessageServer.ReturnCodeNoReply R=rsesek@chromium.org Review URL: https://codereview.chromium.org/569953002
This commit is contained in:
parent
1990a6ca2a
commit
b77c788543
@ -685,6 +685,7 @@ TEST(MachMessageServer, ReturnCodeNoReply) {
|
||||
TestMachMessageServer::Options options;
|
||||
options.server_mig_retcode = MIG_NO_REPLY;
|
||||
options.client_expect_reply = false;
|
||||
options.child_wait_for_parent_pipe = true;
|
||||
TestMachMessageServer test_mach_message_server(options);
|
||||
test_mach_message_server.Test();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user