diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-21 16:39:18 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-21 16:39:18 +0000 |
commit | 8e9ba76ba55c1624567dd81599cc526528e8e5e6 (patch) | |
tree | 710b479ff6ae93ff676f2f55d658acc88e6b39f3 /ipc/ipc_channel_proxy_unittest_messages.h | |
parent | 254032b98d0564e37bb5247d46d736e961c2e19e (diff) | |
download | chromium_src-8e9ba76ba55c1624567dd81599cc526528e8e5e6.zip chromium_src-8e9ba76ba55c1624567dd81599cc526528e8e5e6.tar.gz chromium_src-8e9ba76ba55c1624567dd81599cc526528e8e5e6.tar.bz2 |
Add regression tests to ensure that IPC::Listener::OnBadMessageReceived is always called for all cases, i.e.
1) using IPC::Channel directly
2) using IPC::ChannelProxy and the IPC is dispatched on the IO thread
2) using IPC::ChannelProxy and the IPC is dispatched on the listener thread
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/282303014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271915 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc/ipc_channel_proxy_unittest_messages.h')
-rw-r--r-- | ipc/ipc_channel_proxy_unittest_messages.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/ipc/ipc_channel_proxy_unittest_messages.h b/ipc/ipc_channel_proxy_unittest_messages.h new file mode 100644 index 0000000..0108f1b --- /dev/null +++ b/ipc/ipc_channel_proxy_unittest_messages.h @@ -0,0 +1,44 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "ipc/ipc_message_macros.h" + +// Singly-included section for enums and custom IPC traits. +#ifndef IPC_CHANNEL_PROXY_UNITTEST_MESSAGES_H_ +#define IPC_CHANNEL_PROXY_UNITTEST_MESSAGES_H_ + +class BadType { + public: + BadType() {} +}; + +namespace IPC { + +template <> +struct ParamTraits<BadType> { + static void Write(Message* m, const BadType& p) {} + static bool Read(const Message* m, PickleIterator* iter, BadType* r) { + return false; + } + static void Log(const BadType& p, std::string* l) {} +}; + +} + +#endif // IPC_CHANNEL_PROXY_UNITTEST_MESSAGES_H_ + + +#define IPC_MESSAGE_START TestMsgStart +IPC_MESSAGE_CONTROL0(TestMsg_Bounce) +IPC_MESSAGE_CONTROL0(TestMsg_SendBadMessage) +IPC_MESSAGE_CONTROL1(TestMsg_BadMessage, BadType) + +#undef IPC_MESSAGE_START +#define IPC_MESSAGE_START UtilityMsgStart +IPC_MESSAGE_CONTROL0(UtilityMsg_Bounce) + +#undef IPC_MESSAGE_START +#define IPC_MESSAGE_START WorkerMsgStart +IPC_MESSAGE_CONTROL0(WorkerMsg_Bounce) +IPC_MESSAGE_CONTROL0(WorkerMsg_Quit) |