Commit 0ef935c2 authored by derat's avatar derat Committed by Commit bot

dbus: Mock MockObjectProxy::SetNameOwnerChangedCallback().

ObjectProxy's real method calls Bus::AssertOnOriginThread()
and causes in some log spam (but surprisingly doesn't
crash). Override the method in MockObjectProxy to prevent
this.

Also update chromeos::PowerManagerClientTest to expect this
call.

BUG=646912

Review-Url: https://codereview.chromium.org/2340683003
Cr-Commit-Position: refs/heads/master@{#418864}
parent a28851ca
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
using ::testing::_; using ::testing::_;
using ::testing::Return; using ::testing::Return;
using ::testing::SaveArg;
namespace chromeos { namespace chromeos {
...@@ -176,9 +177,11 @@ class PowerManagerClientTest : public testing::Test { ...@@ -176,9 +177,11 @@ class PowerManagerClientTest : public testing::Test {
dbus::ObjectPath(power_manager::kPowerManagerServicePath))) dbus::ObjectPath(power_manager::kPowerManagerServicePath)))
.WillRepeatedly(Return(proxy_.get())); .WillRepeatedly(Return(proxy_.get()));
// Save |client_|'s signal callbacks. // Save |client_|'s signal and name-owner-changed callbacks.
EXPECT_CALL(*proxy_.get(), ConnectToSignal(kInterface, _, _, _)) EXPECT_CALL(*proxy_.get(), ConnectToSignal(kInterface, _, _, _))
.WillRepeatedly(Invoke(this, &PowerManagerClientTest::ConnectToSignal)); .WillRepeatedly(Invoke(this, &PowerManagerClientTest::ConnectToSignal));
EXPECT_CALL(*proxy_.get(), SetNameOwnerChangedCallback(_))
.WillRepeatedly(SaveArg<0>(&name_owner_changed_callback_));
// |client_|'s Init() method should register regular and dark suspend // |client_|'s Init() method should register regular and dark suspend
// delays. // delays.
...@@ -260,6 +263,10 @@ class PowerManagerClientTest : public testing::Test { ...@@ -260,6 +263,10 @@ class PowerManagerClientTest : public testing::Test {
// |client_|. // |client_|.
std::map<std::string, dbus::ObjectProxy::SignalCallback> signal_callbacks_; std::map<std::string, dbus::ObjectProxy::SignalCallback> signal_callbacks_;
// Callback passed to |proxy_|'s SetNameOwnerChangedCallback() method.
// TODO(derat): Test that |client_| handles powerd restarts.
dbus::ObjectProxy::NameOwnerChangedCallback name_owner_changed_callback_;
private: private:
// Handles calls to |proxy_|'s ConnectToSignal() method. // Handles calls to |proxy_|'s ConnectToSignal() method.
void ConnectToSignal( void ConnectToSignal(
......
...@@ -56,6 +56,8 @@ class MockObjectProxy : public ObjectProxy { ...@@ -56,6 +56,8 @@ class MockObjectProxy : public ObjectProxy {
const std::string& signal_name, const std::string& signal_name,
SignalCallback signal_callback, SignalCallback signal_callback,
OnConnectedCallback on_connected_callback)); OnConnectedCallback on_connected_callback));
MOCK_METHOD1(SetNameOwnerChangedCallback,
void(NameOwnerChangedCallback callback));
MOCK_METHOD1(WaitForServiceToBeAvailable, MOCK_METHOD1(WaitForServiceToBeAvailable,
void(WaitForServiceToBeAvailableCallback callback)); void(WaitForServiceToBeAvailableCallback callback));
MOCK_METHOD0(Detach, void()); MOCK_METHOD0(Detach, void());
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment