shill: wifi cleanups
three cleanups:
- WiFi and WiFiService: rename deferred task handlers (RealScanDone
and RealConnect) from Real<Func> to <Func>Task. this makes them
consistent with the naming in Modem.
- WiFiMainTest:
- use scoped_ptrs (rather than bare) for references to mock
proxies. this simplifies memory management, and makes WiFiMainTest
more consistent with DHCPConfigTest
- eliminate "uninteresting mock function call" messages
BUG=chromium-os:18349
TEST=FEATURES="test nostrip noclean" emerge-x86-generic shill
Change-Id: Ia4f340ab861c5a0ae44a730ca3e1a664ca03180a
Reviewed-on: http://gerrit.chromium.org/gerrit/4939
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: mukesh agrawal <quiche@chromium.org>
diff --git a/wifi_unittest.cc b/wifi_unittest.cc
index a0392db..18039e5 100644
--- a/wifi_unittest.cc
+++ b/wifi_unittest.cc
@@ -8,6 +8,7 @@
#include <string>
#include <vector>
+#include <base/memory/scoped_ptr.h>
#include <base/string_number_conversions.h>
#include <base/string_util.h>
#include <dbus-c++/dbus.h>
@@ -17,10 +18,10 @@
#include "shill/dbus_adaptor.h"
#include "shill/manager.h"
-#include "shill/mock_control.h"
#include "shill/mock_device.h"
#include "shill/mock_supplicant_interface_proxy.h"
#include "shill/mock_supplicant_process_proxy.h"
+#include "shill/nice_mock_control.h"
#include "shill/property_store_unittest.h"
#include "shill/proxy_factory.h"
#include "shill/wifi_endpoint.h"
@@ -33,6 +34,7 @@
using ::testing::AnyNumber;
using ::testing::DefaultValue;
using ::testing::InSequence;
+using ::testing::NiceMock;
using ::testing::Return;
using ::testing::Test;
using ::testing::Throw;
@@ -94,11 +96,10 @@
WiFiMainTest()
: manager_(&control_interface_, NULL, NULL),
wifi_(new WiFi(&control_interface_, NULL, &manager_, kDeviceName, 0)),
- test_started_wifi_(false),
- supplicant_process_proxy_(new MockSupplicantProcessProxy()),
- supplicant_interface_proxy_(new MockSupplicantInterfaceProxy(wifi_)),
- proxy_factory_(supplicant_process_proxy_,
- supplicant_interface_proxy_) {
+ supplicant_process_proxy_(new NiceMock<MockSupplicantProcessProxy>()),
+ supplicant_interface_proxy_(
+ new NiceMock<MockSupplicantInterfaceProxy>(wifi_)),
+ proxy_factory_(this) {
ProxyFactory::set_factory(&proxy_factory_);
::testing::DefaultValue< ::DBus::Path>::Set("/default/path");
}
@@ -109,34 +110,25 @@
wifi_->Stop();
}
- virtual void TearDown() {
- EXPECT_TRUE(test_started_wifi_);
- }
-
protected:
class TestProxyFactory : public ProxyFactory {
public:
- TestProxyFactory(
- SupplicantProcessProxyInterface *process_proxy,
- SupplicantInterfaceProxyInterface *interface_proxy)
- : process_proxy_(process_proxy),
- interface_proxy_(interface_proxy) {}
+ TestProxyFactory(WiFiMainTest *test) : test_(test) {}
virtual SupplicantProcessProxyInterface *CreateSupplicantProcessProxy(
const char *dbus_path, const char *dbus_addr) {
- return process_proxy_;
+ return test_->supplicant_process_proxy_.release();
}
virtual SupplicantInterfaceProxyInterface *CreateSupplicantInterfaceProxy(
const WiFiRefPtr &wifi,
const DBus::Path &object_path,
const char *dbus_addr) {
- return interface_proxy_;
+ return test_->supplicant_interface_proxy_.release();
}
private:
- SupplicantProcessProxyInterface *process_proxy_;
- SupplicantInterfaceProxyInterface *interface_proxy_;
+ WiFiMainTest *test_;
};
const WiFi::EndpointMap &GetEndpointMap() {
@@ -163,21 +155,19 @@
int16_t signal_strength,
const char *mode);
void ReportScanDone() {
- wifi_->RealScanDone();
+ wifi_->ScanDoneTask();
}
void StartWiFi() {
wifi_->Start();
- test_started_wifi_ = true;
}
void StopWiFi() {
wifi_->Stop();
}
private:
- MockControl control_interface_;
+ NiceMockControl control_interface_;
Manager manager_;
WiFiRefPtr wifi_;
- bool test_started_wifi_;
// protected fields interspersed between private fields, due to
// initialization order
@@ -186,8 +176,8 @@
static const char kNetworkModeAdHoc[];
static const char kNetworkModeInfrastructure[];
- MockSupplicantProcessProxy *supplicant_process_proxy_;
- MockSupplicantInterfaceProxy *supplicant_interface_proxy_;
+ scoped_ptr<MockSupplicantProcessProxy> supplicant_process_proxy_;
+ scoped_ptr<MockSupplicantInterfaceProxy> supplicant_interface_proxy_;
private:
TestProxyFactory proxy_factory_;
@@ -303,6 +293,9 @@
}
TEST_F(WiFiMainTest, Connect) {
+ MockSupplicantInterfaceProxy &supplicant_interface_proxy =
+ *supplicant_interface_proxy_;
+
StartWiFi();
ReportBSS("bss0", "ssid0", "00:00:00:00:00:00", 0, kNetworkModeAdHoc);
ReportScanDone();
@@ -311,9 +304,9 @@
InSequence s;
DBus::Path fake_path("/fake/path");
- EXPECT_CALL(*supplicant_interface_proxy_, AddNetwork(_))
+ EXPECT_CALL(supplicant_interface_proxy, AddNetwork(_))
.WillOnce(Return(fake_path));
- EXPECT_CALL(*supplicant_interface_proxy_, SelectNetwork(fake_path));
+ EXPECT_CALL(supplicant_interface_proxy, SelectNetwork(fake_path));
InitiateConnect(*(GetServiceMap().begin()->second));
}
}