summaryrefslogtreecommitdiff
path: root/ipc
diff options
context:
space:
mode:
authorWez <wez@chromium.org>2018-03-13 08:19:23 +0900
committerQijiang Fan <fqj@google.com>2020-06-05 08:45:17 +0900
commit6d13eddccc15b17b16677c0835201b1a633e6ab3 (patch)
treef23d57c3aeb37e93c249b5f0af552f94e1c87653 /ipc
parent9e47015b22e4880339dcd8ff271759b1fb91bfac (diff)
downloadlibchrome-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.cc13
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());