Skip to content

Commit

Permalink
dbus: Mock MockObjectProxy::SetNameOwnerChangedCallback().
Browse files Browse the repository at this point in the history
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}
  • Loading branch information
derat authored and Commit bot committed Sep 15, 2016
1 parent a28851c commit 0ef935c
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
9 changes: 8 additions & 1 deletion chromeos/dbus/power_manager_client_unittest.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@

using ::testing::_;
using ::testing::Return;
using ::testing::SaveArg;

namespace chromeos {

Expand Down Expand Up @@ -176,9 +177,11 @@ class PowerManagerClientTest : public testing::Test {
dbus::ObjectPath(power_manager::kPowerManagerServicePath)))
.WillRepeatedly(Return(proxy_.get()));

// Save |client_|'s signal callbacks.
// Save |client_|'s signal and name-owner-changed callbacks.
EXPECT_CALL(*proxy_.get(), ConnectToSignal(kInterface, _, _, _))
.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
// delays.
Expand Down Expand Up @@ -260,6 +263,10 @@ class PowerManagerClientTest : public testing::Test {
// |client_|.
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:
// Handles calls to |proxy_|'s ConnectToSignal() method.
void ConnectToSignal(
Expand Down
2 changes: 2 additions & 0 deletions dbus/mock_object_proxy.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,8 @@ class MockObjectProxy : public ObjectProxy {
const std::string& signal_name,
SignalCallback signal_callback,
OnConnectedCallback on_connected_callback));
MOCK_METHOD1(SetNameOwnerChangedCallback,
void(NameOwnerChangedCallback callback));
MOCK_METHOD1(WaitForServiceToBeAvailable,
void(WaitForServiceToBeAvailableCallback callback));
MOCK_METHOD0(Detach, void());
Expand Down

0 comments on commit 0ef935c

Please sign in to comment.