treewide: Move timers out of networkd lib scope
Change-Id: I5fd0fc70d007e0851329172b8421846a78016d57
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/test/global_network_objects.cpp b/test/global_network_objects.cpp
deleted file mode 100644
index 9442546..0000000
--- a/test/global_network_objects.cpp
+++ /dev/null
@@ -1,14 +0,0 @@
-#include "mock_network_manager.hpp"
-#include "types.hpp"
-
-namespace phosphor
-{
-
-namespace network
-{
-
-std::unique_ptr<MockManager> manager = nullptr;
-std::unique_ptr<Timer> reloadTimer = nullptr;
-
-} // namespace network
-} // namespace phosphor
diff --git a/test/ibm/hypervisor-network-mgr-test/test_hyp_network_manager.cpp b/test/ibm/hypervisor-network-mgr-test/test_hyp_network_manager.cpp
index 08fa317..65914ac 100644
--- a/test/ibm/hypervisor-network-mgr-test/test_hyp_network_manager.cpp
+++ b/test/ibm/hypervisor-network-mgr-test/test_hyp_network_manager.cpp
@@ -17,10 +17,9 @@
public:
sdbusplus::bus_t bus;
HypNetworkMgr manager;
- sdeventplus::Event event = sdeventplus::Event::get_default();
TestHypNetworkManager() :
bus(sdbusplus::bus::new_default()),
- manager(bus, event, "/xyz/openbmc_test/network/hypervisor")
+ manager(bus, "/xyz/openbmc_test/network/hypervisor")
{
// TODO: Once the support for ipv6 has been added, the below
// method call to set default values in the local copy
diff --git a/test/ibm/hypervisor-network-mgr-test/test_hyp_sys_config.cpp b/test/ibm/hypervisor-network-mgr-test/test_hyp_sys_config.cpp
index 4e4382e..cb75eba 100644
--- a/test/ibm/hypervisor-network-mgr-test/test_hyp_sys_config.cpp
+++ b/test/ibm/hypervisor-network-mgr-test/test_hyp_sys_config.cpp
@@ -18,10 +18,9 @@
sdbusplus::bus_t bus;
HypNetworkMgr manager;
MockHypSysConfig sysConfigObj;
- sdeventplus::Event event = sdeventplus::Event::get_default();
TestHypSysConfig() :
bus(sdbusplus::bus::new_default()),
- manager(bus, event, "/xyz/openbmc_test/network/hypervisor"),
+ manager(bus, "/xyz/openbmc_test/network/hypervisor"),
sysConfigObj(bus, "/xyz/openbmc_test/network/hypervisor/config",
manager)
{
diff --git a/test/meson.build b/test/meson.build
index 0e580fd..68eac09 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -33,7 +33,6 @@
test_lib = static_library(
'networkd-test',
'mock_syscall.cpp',
- 'global_network_objects.cpp',
implicit_include_directories: false,
include_directories: test_headers,
dependencies: test_deps)
diff --git a/test/mock_network_manager.hpp b/test/mock_network_manager.hpp
deleted file mode 100644
index 87214d4..0000000
--- a/test/mock_network_manager.hpp
+++ /dev/null
@@ -1,26 +0,0 @@
-#pragma once
-#include "network_manager.hpp"
-
-#include <gmock/gmock.h>
-
-namespace phosphor
-{
-namespace network
-{
-
-class MockManager : public Manager
-{
- public:
- MockManager(sdbusplus::bus_t& bus, const char* path,
- const std::string& dir) :
- Manager(bus, path, dir)
- {
- }
-
- MOCK_METHOD(void, reloadConfigs, (), (override));
-
- using Manager::handleAdminState;
-};
-
-} // namespace network
-} // namespace phosphor
diff --git a/test/test_ethernet_interface.cpp b/test/test_ethernet_interface.cpp
index 2b52e4c..e9f3973 100644
--- a/test/test_ethernet_interface.cpp
+++ b/test/test_ethernet_interface.cpp
@@ -1,7 +1,7 @@
#include "config_parser.hpp"
#include "ipaddress.hpp"
#include "mock_ethernet_interface.hpp"
-#include "mock_network_manager.hpp"
+#include "test_network_manager.hpp"
#include <net/if.h>
@@ -26,7 +26,7 @@
public:
sdbusplus::bus_t bus;
std::filesystem::path confDir;
- MockManager manager;
+ TestManager manager;
MockEthernetInterface interface;
TestEthernetInterface() :
bus(sdbusplus::bus::new_default()), confDir(CaseTmpDir()),
@@ -37,7 +37,7 @@
}
static MockEthernetInterface makeInterface(sdbusplus::bus_t& bus,
- MockManager& manager)
+ TestManager& manager)
{
AllIntfInfo info{InterfaceInfo{.idx = 1, .flags = 0, .name = "test0"}};
return {bus, manager, info, "/xyz/openbmc_test/network"sv,
@@ -125,7 +125,7 @@
TEST_F(TestEthernetInterface, addStaticNameServers)
{
ServerList servers = {"9.1.1.1", "9.2.2.2", "9.3.3.3"};
- EXPECT_CALL(manager, reloadConfigs());
+ EXPECT_CALL(manager.mockReload, schedule());
interface.staticNameServers(servers);
config::Parser parser((confDir / "00-bmc-test0.network").native());
EXPECT_EQ(servers, parser.map.getValueStrings("Network", "DNS"));
@@ -142,7 +142,7 @@
TEST_F(TestEthernetInterface, addStaticNTPServers)
{
ServerList servers = {"10.1.1.1", "10.2.2.2", "10.3.3.3"};
- EXPECT_CALL(manager, reloadConfigs());
+ EXPECT_CALL(manager.mockReload, schedule());
interface.staticNTPServers(servers);
config::Parser parser((confDir / "00-bmc-test0.network").native());
EXPECT_EQ(servers, parser.map.getValueStrings("Network", "NTP"));
@@ -182,7 +182,8 @@
TEST_F(TestEthernetInterface, DHCPEnabled)
{
- EXPECT_CALL(manager, reloadConfigs()).WillRepeatedly(testing::Return());
+ EXPECT_CALL(manager.mockReload, schedule())
+ .WillRepeatedly(testing::Return());
using DHCPConf = EthernetInterfaceIntf::DHCPConf;
auto test = [&](DHCPConf conf, bool dhcp4, bool dhcp6, bool ra) {
diff --git a/test/test_network_manager.cpp b/test/test_network_manager.cpp
index ffffb44..2e51ac1 100644
--- a/test/test_network_manager.cpp
+++ b/test/test_network_manager.cpp
@@ -1,5 +1,6 @@
+#include "test_network_manager.hpp"
+
#include "config_parser.hpp"
-#include "mock_network_manager.hpp"
#include <filesystem>
#include <sdbusplus/bus.hpp>
@@ -19,7 +20,7 @@
{
protected:
sdbusplus::bus_t bus;
- MockManager manager;
+ TestManager manager;
TestNetworkManager() :
bus(sdbusplus::bus::new_default()),
manager(bus, "/xyz/openbmc_test/abc", CaseTmpDir())
diff --git a/test/test_network_manager.hpp b/test/test_network_manager.hpp
new file mode 100644
index 0000000..eaf853b
--- /dev/null
+++ b/test/test_network_manager.hpp
@@ -0,0 +1,45 @@
+#pragma once
+#include "network_manager.hpp"
+
+#include <gmock/gmock.h>
+
+namespace phosphor
+{
+namespace network
+{
+
+struct MockExecutor : DelayedExecutor
+{
+ MOCK_METHOD((void), schedule, (), (override));
+ MOCK_METHOD((void), setCallback, (fu2::unique_function<void()> &&),
+ (override));
+};
+
+struct TestManagerData
+{
+ MockExecutor mockReload;
+ fu2::unique_function<void()> reloadCb;
+
+ inline MockExecutor& reloadForManager()
+ {
+ EXPECT_CALL(mockReload, setCallback(testing::_))
+ .WillOnce([&](fu2::unique_function<void()>&& cb) {
+ reloadCb = std::move(cb);
+ });
+ return mockReload;
+ }
+};
+
+struct TestManager : TestManagerData, Manager
+{
+ inline TestManager(sdbusplus::bus_t& bus, stdplus::zstring_view path,
+ const std::filesystem::path& dir) :
+ Manager(bus, reloadForManager(), path, dir)
+ {
+ }
+
+ using Manager::handleAdminState;
+};
+
+} // namespace network
+} // namespace phosphor