diff options
author | Wez <wez@chromium.org> | 2018-03-13 08:19:23 +0900 |
---|---|---|
committer | Qijiang Fan <fqj@google.com> | 2020-06-05 08:45:17 +0900 |
commit | 6d13eddccc15b17b16677c0835201b1a633e6ab3 (patch) | |
tree | f23d57c3aeb37e93c249b5f0af552f94e1c87653 /ipc | |
parent | 9e47015b22e4880339dcd8ff271759b1fb91bfac (diff) | |
download | libchrome-6d13eddccc15b17b16677c0835201b1a633e6ab3.tar.gz |
Reland "Add missing message-received expectation to IPCMojoBootstrapTest."
This is a reland of cdcb02624c340873b4d7d6e2564666e60f3aa856, which was
reverted pending a fix for an underlying Mojo message-loss issue on
channel shutdown.
Original change's description:
> Add missing message-received expectation to IPCMojoBootstrapTest.
>
> Some of these tests expected a message from the child process, and would
> verify that it was valid/invalid as expected, but would still pass if
> no message were received at all.
>
> Bug: 816620
> Change-Id: Ie8acf85086f4416c7023118673c40d00a2e190d7
> Reviewed-on: https://chromium-review.googlesource.com/955554
> Reviewed-by: Ken Rockot <rockot@chromium.org>
> Commit-Queue: Wez <wez@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#542296}
TBR: rockot
Bug: 816620
Change-Id: Ifdf10581091be31a6c9d1aa53542f2ed6c2ccbfa
Reviewed-on: https://chromium-review.googlesource.com/958016
Reviewed-by: Wez <wez@chromium.org>
Commit-Queue: Wez <wez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542650}
CrOS-Libchrome-Original-Commit: 3fe9c08982644207abfeae5e02ffb90a74309d46
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/ipc_mojo_bootstrap_unittest.cc | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/ipc/ipc_mojo_bootstrap_unittest.cc b/ipc/ipc_mojo_bootstrap_unittest.cc index 46dca0efd0..34e427ba9a 100644 --- a/ipc/ipc_mojo_bootstrap_unittest.cc +++ b/ipc/ipc_mojo_bootstrap_unittest.cc @@ -55,7 +55,7 @@ class PeerPidReceiver : public IPC::mojom::Channel { enum class MessageExpectation { kNotExpected, kExpectedValid, - kExptectedInvalid + kExpectedInvalid }; PeerPidReceiver( @@ -65,7 +65,11 @@ class PeerPidReceiver : public IPC::mojom::Channel { : binding_(this, std::move(request)), on_peer_pid_set_(on_peer_pid_set), message_expectation_(message_expectation) {} - ~PeerPidReceiver() override {} + ~PeerPidReceiver() override { + bool expected_message = + message_expectation_ != MessageExpectation::kNotExpected; + EXPECT_EQ(expected_message, received_message_); + } // mojom::Channel: void SetPeerPid(int32_t pid) override { @@ -77,6 +81,7 @@ class PeerPidReceiver : public IPC::mojom::Channel { base::Optional<std::vector<mojo::native::SerializedHandlePtr>> handles) override { ASSERT_NE(MessageExpectation::kNotExpected, message_expectation_); + received_message_ = true; IPC::Message message(reinterpret_cast<const char*>(data.data()), static_cast<uint32_t>(data.size())); @@ -97,6 +102,8 @@ class PeerPidReceiver : public IPC::mojom::Channel { MessageExpectation message_expectation_; int32_t peer_pid_ = -1; + bool received_message_ = false; + DISALLOW_COPY_AND_ASSIGN(PeerPidReceiver); }; @@ -140,7 +147,7 @@ TEST_F(IPCMojoBootstrapTest, ReceiveEmptyMessage) { base::RunLoop run_loop; PeerPidReceiver impl(std::move(receiver), run_loop.QuitClosure(), - PeerPidReceiver::MessageExpectation::kExptectedInvalid); + PeerPidReceiver::MessageExpectation::kExpectedInvalid); run_loop.Run(); EXPECT_TRUE(helper_.WaitForChildTestShutdown()); |