shill: Move remaining mock constructors/destructors to .cc.
Non-scientific experiment of 'FEATURES=test emerge-x86-mario -1 shill' shows
real time reduction from 77 seconds to 59 seconds.
BUG=chromium-os:19691
TEST=unit tests
Change-Id: Iba905587cce64648bebc69d03fe9ecb3a3a8b90e
Reviewed-on: http://gerrit.chromium.org/gerrit/6793
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: mukesh agrawal <quiche@chromium.org>
diff --git a/Makefile b/Makefile
index f072b0d..3705b01 100644
--- a/Makefile
+++ b/Makefile
@@ -163,8 +163,20 @@
mock_dhcp_provider.o \
mock_dhcp_proxy.o \
mock_glib.o \
+ mock_ipconfig.o \
+ mock_manager.o \
+ mock_modem_cdma_proxy.o \
+ mock_modem_gsm_network_proxy.o \
+ mock_modem_manager_proxy.o \
+ mock_modem_proxy.o \
+ mock_modem_simple_proxy.o \
mock_profile.o \
+ mock_property_store.o \
+ mock_rtnl_handler.o \
mock_service.o \
+ mock_sockets.o \
+ mock_supplicant_interface_proxy.o \
+ mock_supplicant_process_proxy.o \
modem_info_unittest.o \
modem_manager_unittest.o \
modem_unittest.o \
diff --git a/mock_ipconfig.cc b/mock_ipconfig.cc
new file mode 100644
index 0000000..fcb1467
--- /dev/null
+++ b/mock_ipconfig.cc
@@ -0,0 +1,15 @@
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "shill/mock_ipconfig.h"
+
+namespace shill {
+
+MockIPConfig::MockIPConfig(ControlInterface *control_interface,
+ const std::string &device_name)
+ : IPConfig(control_interface, device_name) {}
+
+MockIPConfig::~MockIPConfig() {}
+
+} // namespace shill
diff --git a/mock_ipconfig.h b/mock_ipconfig.h
index b5772e2..6c73a7c 100644
--- a/mock_ipconfig.h
+++ b/mock_ipconfig.h
@@ -5,21 +5,18 @@
#ifndef SHILL_MOCK_IPCONFIG_
#define SHILL_MOCK_IPCONFIG_
-#include <base/memory/ref_counted.h>
+#include <base/basictypes.h>
#include <gmock/gmock.h>
#include "shill/ipconfig.h"
namespace shill {
-class ControlInterface;
class MockIPConfig : public IPConfig {
public:
MockIPConfig(ControlInterface *control_interface,
- const std::string &device_name)
- : IPConfig(control_interface, device_name) {
- }
- virtual ~MockIPConfig() {}
+ const std::string &device_name);
+ virtual ~MockIPConfig();
MOCK_METHOD0(RequestIP, bool(void));
MOCK_METHOD0(RenewIP, bool(void));
@@ -27,6 +24,9 @@
MOCK_METHOD2(Load, bool(StoreInterface *, const std::string &));
MOCK_METHOD2(Save, bool(StoreInterface *, const std::string &));
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(MockIPConfig);
};
} // namespace shill
diff --git a/mock_manager.cc b/mock_manager.cc
new file mode 100644
index 0000000..e2b45b2
--- /dev/null
+++ b/mock_manager.cc
@@ -0,0 +1,16 @@
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "shill/mock_manager.h"
+
+namespace shill {
+
+MockManager::MockManager(ControlInterface *control_interface,
+ EventDispatcher *dispatcher,
+ GLib *glib)
+ : Manager(control_interface, dispatcher, glib, "", "", "") {}
+
+MockManager::~MockManager() {}
+
+} // namespace shill
diff --git a/mock_manager.h b/mock_manager.h
index e8f709d..21da55e 100644
--- a/mock_manager.h
+++ b/mock_manager.h
@@ -5,27 +5,19 @@
#ifndef SHILL_MOCK_MANAGER_
#define SHILL_MOCK_MANAGER_
-#include <base/memory/ref_counted.h>
+#include <base/basictypes.h>
#include <gmock/gmock.h>
#include "shill/manager.h"
namespace shill {
-class ControlInterface;
-class DeviceInfo;
-class EventDispatcher;
-class GLib;
-class PropertyStore;
-
class MockManager : public Manager {
public:
MockManager(ControlInterface *control_interface,
EventDispatcher *dispatcher,
- GLib *glib)
- : Manager(control_interface, dispatcher, glib, "", "", "") {
- }
- ~MockManager() {}
+ GLib *glib);
+ virtual ~MockManager();
MOCK_METHOD0(device_info, DeviceInfo*(void));
MOCK_METHOD0(store, PropertyStore*(void));
diff --git a/mock_modem_cdma_proxy.cc b/mock_modem_cdma_proxy.cc
new file mode 100644
index 0000000..c27d685
--- /dev/null
+++ b/mock_modem_cdma_proxy.cc
@@ -0,0 +1,13 @@
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "shill/mock_modem_cdma_proxy.h"
+
+namespace shill {
+
+MockModemCDMAProxy::MockModemCDMAProxy() {}
+
+MockModemCDMAProxy::~MockModemCDMAProxy() {}
+
+} // namespace shill
diff --git a/mock_modem_cdma_proxy.h b/mock_modem_cdma_proxy.h
index 59b1a4c..58e5a30 100644
--- a/mock_modem_cdma_proxy.h
+++ b/mock_modem_cdma_proxy.h
@@ -5,6 +5,7 @@
#ifndef SHILL_MOCK_MODEM_CDMA_PROXY_H_
#define SHILL_MOCK_MODEM_CDMA_PROXY_H_
+#include <base/basictypes.h>
#include <gmock/gmock.h>
#include "shill/modem_cdma_proxy_interface.h"
@@ -13,10 +14,16 @@
class MockModemCDMAProxy : public ModemCDMAProxyInterface {
public:
+ MockModemCDMAProxy();
+ virtual ~MockModemCDMAProxy();
+
MOCK_METHOD1(Activate, uint32(const std::string &carrier));
MOCK_METHOD2(GetRegistrationState, void(uint32 *cdma_1x_state,
uint32 *evdo_state));
MOCK_METHOD0(GetSignalQuality, uint32());
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(MockModemCDMAProxy);
};
} // namespace shill
diff --git a/mock_modem_gsm_network_proxy.cc b/mock_modem_gsm_network_proxy.cc
new file mode 100644
index 0000000..1e3676f
--- /dev/null
+++ b/mock_modem_gsm_network_proxy.cc
@@ -0,0 +1,13 @@
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "shill/mock_modem_gsm_network_proxy.h"
+
+namespace shill {
+
+MockModemGSMNetworkProxy::MockModemGSMNetworkProxy() {}
+
+MockModemGSMNetworkProxy::~MockModemGSMNetworkProxy() {}
+
+} // namespace shill
diff --git a/mock_modem_gsm_network_proxy.h b/mock_modem_gsm_network_proxy.h
index 478deac..633f25f 100644
--- a/mock_modem_gsm_network_proxy.h
+++ b/mock_modem_gsm_network_proxy.h
@@ -5,6 +5,7 @@
#ifndef SHILL_MOCK_MODEM_GSM_NETWORK_PROXY_H_
#define SHILL_MOCK_MODEM_GSM_NETWORK_PROXY_H_
+#include <base/basictypes.h>
#include <gmock/gmock.h>
#include "shill/modem_gsm_network_proxy_interface.h"
@@ -13,7 +14,13 @@
class MockModemGSMNetworkProxy : public ModemGSMNetworkProxyInterface {
public:
+ MockModemGSMNetworkProxy();
+ virtual ~MockModemGSMNetworkProxy();
+
MOCK_METHOD1(Register, void(const std::string &network_id));
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(MockModemGSMNetworkProxy);
};
} // namespace shill
diff --git a/mock_modem_manager_proxy.cc b/mock_modem_manager_proxy.cc
new file mode 100644
index 0000000..5d9480d
--- /dev/null
+++ b/mock_modem_manager_proxy.cc
@@ -0,0 +1,13 @@
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "shill/mock_modem_manager_proxy.h"
+
+namespace shill {
+
+MockModemManagerProxy::MockModemManagerProxy() {}
+
+MockModemManagerProxy::~MockModemManagerProxy() {}
+
+} // namespace shill
diff --git a/mock_modem_manager_proxy.h b/mock_modem_manager_proxy.h
index 0810a8d..621b448 100644
--- a/mock_modem_manager_proxy.h
+++ b/mock_modem_manager_proxy.h
@@ -5,6 +5,7 @@
#ifndef SHILL_MOCK_MODEM_MANAGER_PROXY_H_
#define SHILL_MOCK_MODEM_MANAGER_PROXY_H_
+#include <base/basictypes.h>
#include <gmock/gmock.h>
#include "shill/modem_manager_proxy_interface.h"
@@ -13,7 +14,13 @@
class MockModemManagerProxy : public ModemManagerProxyInterface {
public:
+ MockModemManagerProxy();
+ virtual ~MockModemManagerProxy();
+
MOCK_METHOD0(EnumerateDevices, std::vector<DBus::Path>());
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(MockModemManagerProxy);
};
} // namespace shill
diff --git a/mock_modem_proxy.cc b/mock_modem_proxy.cc
new file mode 100644
index 0000000..97923db
--- /dev/null
+++ b/mock_modem_proxy.cc
@@ -0,0 +1,13 @@
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "shill/mock_modem_proxy.h"
+
+namespace shill {
+
+MockModemProxy::MockModemProxy() {}
+
+MockModemProxy::~MockModemProxy() {}
+
+} // namespace shill
diff --git a/mock_modem_proxy.h b/mock_modem_proxy.h
index e203433..8d3de6e 100644
--- a/mock_modem_proxy.h
+++ b/mock_modem_proxy.h
@@ -5,6 +5,7 @@
#ifndef SHILL_MOCK_MODEM_PROXY_H_
#define SHILL_MOCK_MODEM_PROXY_H_
+#include <base/basictypes.h>
#include <gmock/gmock.h>
#include "shill/modem_proxy_interface.h"
@@ -13,8 +14,14 @@
class MockModemProxy : public ModemProxyInterface {
public:
+ MockModemProxy();
+ virtual ~MockModemProxy();
+
MOCK_METHOD1(Enable, void(const bool enable));
MOCK_METHOD0(GetInfo, Info());
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(MockModemProxy);
};
} // namespace shill
diff --git a/mock_modem_simple_proxy.cc b/mock_modem_simple_proxy.cc
new file mode 100644
index 0000000..e76c500
--- /dev/null
+++ b/mock_modem_simple_proxy.cc
@@ -0,0 +1,13 @@
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "shill/mock_modem_simple_proxy.h"
+
+namespace shill {
+
+MockModemSimpleProxy::MockModemSimpleProxy() {}
+
+MockModemSimpleProxy::~MockModemSimpleProxy() {}
+
+} // namespace shill
diff --git a/mock_modem_simple_proxy.h b/mock_modem_simple_proxy.h
index b5877df..be6e17e 100644
--- a/mock_modem_simple_proxy.h
+++ b/mock_modem_simple_proxy.h
@@ -5,6 +5,7 @@
#ifndef SHILL_MOCK_MODEM_SIMPLE_PROXY_H_
#define SHILL_MOCK_MODEM_SIMPLE_PROXY_H_
+#include <base/basictypes.h>
#include <gmock/gmock.h>
#include "shill/modem_simple_proxy_interface.h"
@@ -13,8 +14,14 @@
class MockModemSimpleProxy : public ModemSimpleProxyInterface {
public:
+ MockModemSimpleProxy();
+ virtual ~MockModemSimpleProxy();
+
MOCK_METHOD0(GetStatus, DBusPropertiesMap());
MOCK_METHOD1(Connect, void(const DBusPropertiesMap &properties));
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(MockModemSimpleProxy);
};
} // namespace shill
diff --git a/mock_property_store.cc b/mock_property_store.cc
new file mode 100644
index 0000000..ebbc8f3
--- /dev/null
+++ b/mock_property_store.cc
@@ -0,0 +1,13 @@
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "shill/mock_property_store.h"
+
+namespace shill {
+
+MockPropertyStore::MockPropertyStore() {}
+
+MockPropertyStore::~MockPropertyStore() {}
+
+} // namespace shill
diff --git a/mock_property_store.h b/mock_property_store.h
index 0956545..f1f16b4 100644
--- a/mock_property_store.h
+++ b/mock_property_store.h
@@ -5,22 +5,18 @@
#ifndef SHILL_MOCK_PROPERTY_STORE_
#define SHILL_MOCK_PROPERTY_STORE_
-#include "shill/property_store.h"
-
-#include <map>
-#include <string>
-#include <vector>
-
#include <base/basictypes.h>
+#include <gmock/gmock.h>
+
+#include "shill/property_store.h"
namespace shill {
-class Error;
-
class MockPropertyStore : public PropertyStore {
public:
- MockPropertyStore() {}
- virtual ~MockPropertyStore() {}
+ MockPropertyStore();
+ virtual ~MockPropertyStore();
+
MOCK_METHOD1(Contains, bool(const std::string&));
MOCK_METHOD3(SetBoolProperty, bool(const std::string&, bool, Error*));
MOCK_METHOD3(SetInt16Property, bool(const std::string&, int16, Error*));
diff --git a/mock_rtnl_handler.cc b/mock_rtnl_handler.cc
new file mode 100644
index 0000000..01a3f72
--- /dev/null
+++ b/mock_rtnl_handler.cc
@@ -0,0 +1,13 @@
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "shill/mock_rtnl_handler.h"
+
+namespace shill {
+
+MockRTNLHandler::MockRTNLHandler() {}
+
+MockRTNLHandler::~MockRTNLHandler() {}
+
+} // namespace shill
diff --git a/mock_rtnl_handler.h b/mock_rtnl_handler.h
index d08299a..b4b124b 100644
--- a/mock_rtnl_handler.h
+++ b/mock_rtnl_handler.h
@@ -5,6 +5,7 @@
#ifndef SHILL_MOCK_RTNL_HANDLER_H_
#define SHILL_MOCK_RTNL_HANDLER_H_
+#include <base/basictypes.h>
#include <gmock/gmock.h>
#include "shill/rtnl_handler.h"
@@ -13,6 +14,9 @@
class MockRTNLHandler : public RTNLHandler {
public:
+ MockRTNLHandler();
+ virtual ~MockRTNLHandler();
+
MOCK_METHOD2(Start, void(EventDispatcher *dispatcher, Sockets *sockets));
MOCK_METHOD1(AddListener, void(RTNLListener *to_add));
MOCK_METHOD1(RemoveListener, void(RTNLListener *to_remove));
@@ -26,6 +30,9 @@
MOCK_METHOD1(RequestDump, void(int request_flags));
MOCK_METHOD1(GetInterfaceIndex, int(const std::string &interface_name));
MOCK_METHOD1(SendMessage, bool(RTNLMessage *message));
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(MockRTNLHandler);
};
} // namespace shill
diff --git a/mock_sockets.cc b/mock_sockets.cc
new file mode 100644
index 0000000..15b989f
--- /dev/null
+++ b/mock_sockets.cc
@@ -0,0 +1,13 @@
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "shill/mock_sockets.h"
+
+namespace shill {
+
+MockSockets::MockSockets() {}
+
+MockSockets::~MockSockets() {}
+
+} // namespace shill
diff --git a/mock_sockets.h b/mock_sockets.h
index a54beef..8d80269 100644
--- a/mock_sockets.h
+++ b/mock_sockets.h
@@ -5,6 +5,7 @@
#ifndef SHILL_MOCK_SOCKETS_H_
#define SHILL_MOCK_SOCKETS_H_
+#include <base/basictypes.h>
#include <gmock/gmock.h>
#include "shill/sockets.h"
@@ -13,6 +14,9 @@
class MockSockets : public Sockets {
public:
+ MockSockets();
+ virtual ~MockSockets();
+
MOCK_METHOD3(Bind,
int(int sockfd, const struct sockaddr *addr, socklen_t addrlen));
MOCK_METHOD1(Close, int(int fd));
@@ -26,6 +30,9 @@
const struct sockaddr *dest_addr,
socklen_t addrlen));
MOCK_METHOD3(Socket, int(int domain, int type, int protocol));
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(MockSockets);
};
} // namespace shill
diff --git a/mock_supplicant_interface_proxy.cc b/mock_supplicant_interface_proxy.cc
new file mode 100644
index 0000000..72a2fb7
--- /dev/null
+++ b/mock_supplicant_interface_proxy.cc
@@ -0,0 +1,16 @@
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "shill/mock_supplicant_interface_proxy.h"
+
+#include "shill/wifi.h"
+
+namespace shill {
+
+MockSupplicantInterfaceProxy::MockSupplicantInterfaceProxy(
+ const WiFiRefPtr &wifi) : wifi_(wifi) {}
+
+MockSupplicantInterfaceProxy::~MockSupplicantInterfaceProxy() {}
+
+} // namespace shill
diff --git a/mock_supplicant_interface_proxy.h b/mock_supplicant_interface_proxy.h
index ea69639..bbaecb5 100644
--- a/mock_supplicant_interface_proxy.h
+++ b/mock_supplicant_interface_proxy.h
@@ -5,17 +5,18 @@
#ifndef MOCK_SUPPLICANT_INTERFACE_PROXY_H_
#define MOCK_SUPPLICANT_INTERFACE_PROXY_H_
+#include <base/basictypes.h>
#include <gmock/gmock.h>
+#include "shill/refptr_types.h"
#include "shill/supplicant_interface_proxy_interface.h"
namespace shill {
class MockSupplicantInterfaceProxy : public SupplicantInterfaceProxyInterface {
public:
- explicit MockSupplicantInterfaceProxy(const WiFiRefPtr &wifi) :
- wifi_(wifi) {}
- virtual ~MockSupplicantInterfaceProxy() {}
+ explicit MockSupplicantInterfaceProxy(const WiFiRefPtr &wifi);
+ virtual ~MockSupplicantInterfaceProxy();
MOCK_METHOD1(AddNetwork, ::DBus::Path(
const std::map<std::string, ::DBus::Variant> &args));
@@ -26,9 +27,10 @@
MOCK_METHOD1(SelectNetwork, void(const ::DBus::Path &network));
private:
- // wifi_ is not used explicitly. but its presence here tests that
- // WiFi::Stop properly removes cyclic references.
+ // wifi_ is not used explicitly but its presence here tests that WiFi::Stop
+ // properly removes cyclic references.
WiFiRefPtr wifi_;
+
DISALLOW_COPY_AND_ASSIGN(MockSupplicantInterfaceProxy);
};
diff --git a/mock_supplicant_process_proxy.cc b/mock_supplicant_process_proxy.cc
new file mode 100644
index 0000000..6bafc10
--- /dev/null
+++ b/mock_supplicant_process_proxy.cc
@@ -0,0 +1,13 @@
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "shill/mock_supplicant_process_proxy.h"
+
+namespace shill {
+
+MockSupplicantProcessProxy::MockSupplicantProcessProxy() {}
+
+MockSupplicantProcessProxy::~MockSupplicantProcessProxy() {}
+
+} // namespace shill
diff --git a/mock_supplicant_process_proxy.h b/mock_supplicant_process_proxy.h
index 89eb507..d47b5f7 100644
--- a/mock_supplicant_process_proxy.h
+++ b/mock_supplicant_process_proxy.h
@@ -5,16 +5,17 @@
#ifndef MOCK_SUPPLICANT_PROCESS_PROXY_H_
#define MOCK_SUPPLICANT_PROCESS_PROXY_H_
+#include <base/basictypes.h>
#include <gmock/gmock.h>
-#include "supplicant_process_proxy_interface.h"
+#include "shill/supplicant_process_proxy_interface.h"
namespace shill {
class MockSupplicantProcessProxy : public SupplicantProcessProxyInterface {
public:
- MockSupplicantProcessProxy() {}
- virtual ~MockSupplicantProcessProxy() {}
+ MockSupplicantProcessProxy();
+ virtual ~MockSupplicantProcessProxy();
MOCK_METHOD1(CreateInterface,
::DBus::Path(
diff --git a/modem_cdma_proxy_interface.h b/modem_cdma_proxy_interface.h
index 7a333a9..249b7c4 100644
--- a/modem_cdma_proxy_interface.h
+++ b/modem_cdma_proxy_interface.h
@@ -9,6 +9,8 @@
#include <base/basictypes.h>
+#include "shill/dbus_properties.h"
+
namespace shill {
// These are the methods that a ModemManager.Modem.CDMA proxy must support. The
diff --git a/sockets.h b/sockets.h
index bface16..31d718e 100644
--- a/sockets.h
+++ b/sockets.h
@@ -5,6 +5,7 @@
#ifndef SHILL_SOCKETS_H_
#define SHILL_SOCKETS_H_
+#include <sys/socket.h>
#include <sys/types.h>
#include <base/basictypes.h>
diff --git a/supplicant_process_proxy.cc b/supplicant_process_proxy.cc
index d3f72a4..c523acb 100644
--- a/supplicant_process_proxy.cc
+++ b/supplicant_process_proxy.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "supplicant_process_proxy.h"
+#include "shill/supplicant_process_proxy.h"
#include <map>
#include <string>