[shill] Migrate to RTNLMessage instead of nlmsghdr
Now, RTNLHandler deals with nlmsghdrs internally, and passes parsed RTNLMessage
objects to everyone else.
Also, move some code out of device_info_unittest.cc that was testing
RTNLHandler::ParseRTNL
BUG=chromium-os:18908
TEST=unit
STATUS=Verified
Change-Id: I8e1546ea8e996a0e2302fe5e5937b03c13cb1a61
Reviewed-on: http://gerrit.chromium.org/gerrit/5612
Reviewed-by: Chris Masone <cmasone@chromium.org>
Tested-by: Chris Masone <cmasone@chromium.org>
diff --git a/rtnl_listener_unittest.cc b/rtnl_listener_unittest.cc
index 540d4cc..52461fa 100644
--- a/rtnl_listener_unittest.cc
+++ b/rtnl_listener_unittest.cc
@@ -12,8 +12,10 @@
#include "shill/rtnl_handler.h"
#include "shill/rtnl_listener.h"
+#include "shill/rtnl_message.h"
using testing::_;
+using testing::A;
using testing::Test;
namespace shill {
@@ -23,19 +25,19 @@
RTNLListenerTest()
: callback_(NewCallback(this, &RTNLListenerTest::Callback)) {}
- MOCK_METHOD1(Callback, void(struct nlmsghdr *));
+ MOCK_METHOD1(Callback, void(const RTNLMessage &));
protected:
- scoped_ptr<Callback1<struct nlmsghdr *>::Type> callback_;
+ scoped_ptr<Callback1<const RTNLMessage &>::Type> callback_;
};
TEST_F(RTNLListenerTest, NoRun) {
{
RTNLListener listener(RTNLHandler::kRequestAddr, callback_.get());
EXPECT_EQ(1, RTNLHandler::GetInstance()->listeners_.size());
- struct nlmsghdr message;
+ RTNLMessage message;
EXPECT_CALL(*this, Callback(_)).Times(0);
- listener.NotifyEvent(RTNLHandler::kRequestLink, &message);
+ listener.NotifyEvent(RTNLHandler::kRequestLink, message);
}
EXPECT_EQ(0, RTNLHandler::GetInstance()->listeners_.size());
}
@@ -46,9 +48,9 @@
RTNLHandler::kRequestLink | RTNLHandler::kRequestAddr,
callback_.get());
EXPECT_EQ(1, RTNLHandler::GetInstance()->listeners_.size());
- struct nlmsghdr message;
- EXPECT_CALL(*this, Callback(&message)).Times(1);
- listener.NotifyEvent(RTNLHandler::kRequestLink, &message);
+ RTNLMessage message;
+ EXPECT_CALL(*this, Callback(A<const RTNLMessage &>())).Times(1);
+ listener.NotifyEvent(RTNLHandler::kRequestLink, message);
}
EXPECT_EQ(0, RTNLHandler::GetInstance()->listeners_.size());
}