shill: Installs progressive scan in shill.
BUG=chromium:222088
TEST=unittest and manual. The manual tests consist of:
- Enable progressive scan. On target, in a crosh window, do:
o progressive_scan on
- Start shill with log=-10/wifi. On the target, in a shell window,
do the following:
o stop shill
o shill --log-level=-10 --log-scopes=wifi
- Wait five seconds (the code will do everything it needs to at
startup).
- Look in /var/log/net.log and verify the existence of the following:
o Doing progressive scan
o ProgressiveScanTask - scan requested for XXXX
Initiating a scan -- returning
o ProgressiveScanTask - scan requested for XXXX
Ignoring scan request wile connecting to an AP
Change-Id: Ie577869aedc03230e1fab62fc8cb9f0b3850c7fb
Reviewed-on: https://gerrit.chromium.org/gerrit/50377
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Commit-Queue: Wade Guthrie <wdg@chromium.org>
Reviewed-by: Wade Guthrie <wdg@chromium.org>
Tested-by: Wade Guthrie <wdg@chromium.org>
diff --git a/mock_netlink_manager.h b/mock_netlink_manager.h
index 1e2cf7a..6717e68 100644
--- a/mock_netlink_manager.h
+++ b/mock_netlink_manager.h
@@ -5,19 +5,39 @@
#ifndef SHILL_MOCK_NETLINK_MANAGER_H_
#define SHILL_MOCK_NETLINK_MANAGER_H_
-#include <gmock/gmock.h>
-
#include "shill/netlink_manager.h"
+#include <map>
+
+#include <gmock/gmock.h>
+
namespace shill {
+class NetlinkMessage;
+
class MockNetlinkManager : public NetlinkManager {
public:
- MockNetlinkManager() {}
- ~MockNetlinkManager() {}
+ MockNetlinkManager();
+ virtual ~MockNetlinkManager();
+ MOCK_METHOD1(RemoveBroadcastHandler,
+ bool(const NetlinkMessageHandler &message_handler));
+ MOCK_METHOD1(AddBroadcastHandler,
+ bool(const NetlinkMessageHandler &messge_handler));
+ MOCK_METHOD2(SendMessage,
+ bool(NetlinkMessage *message,
+ const NetlinkMessageHandler &message_handler));
+ MOCK_METHOD2(SubscribeToEvents,
+ bool(const std::string &family, const std::string &group));
+ MOCK_CONST_METHOD1(GetMessageType, uint16_t(const std::string &name));
- MOCK_METHOD2(SendMessage, bool(NetlinkMessage *message,
- const NetlinkMessageHandler &message_handler));
+ void SetMessageType(std::string name, uint16_t type);
+
+ private:
+ uint16_t DoGetMessageType(std::string name);
+
+ std::map<std::string, uint16_t> message_types_;
+
+ DISALLOW_COPY_AND_ASSIGN(MockNetlinkManager);
};
} // namespace shill