diff options
Diffstat (limited to 'test/test_rtnetlink.cpp')
-rw-r--r-- | test/test_rtnetlink.cpp | 116 |
1 files changed, 52 insertions, 64 deletions
diff --git a/test/test_rtnetlink.cpp b/test/test_rtnetlink.cpp index 203019d..4be3743 100644 --- a/test/test_rtnetlink.cpp +++ b/test/test_rtnetlink.cpp @@ -1,16 +1,15 @@ -#include "types.hpp" -#include "rtnetlink_server.hpp" -#include "network_manager.hpp" #include "mock_syscall.hpp" +#include "network_manager.hpp" +#include "rtnetlink_server.hpp" #include "timer.hpp" #include "types.hpp" +#include <linux/rtnetlink.h> +#include <net/if.h> -#include <gtest/gtest.h> #include <sdbusplus/bus.hpp> -#include <net/if.h> -#include <linux/rtnetlink.h> +#include <gtest/gtest.h> namespace phosphor { @@ -35,78 +34,68 @@ void refreshObjects() void initializeTimers() { - std::function<void()> refreshFunc( - std::bind(&refreshObjects)); - - refreshObjectTimer = - std::make_unique<Timer>(refreshFunc); + std::function<void()> refreshFunc(std::bind(&refreshObjects)); + refreshObjectTimer = std::make_unique<Timer>(refreshFunc); } class TestRtNetlink : public testing::Test { - public: - std::string confDir; - phosphor::Descriptor smartSock; - + public: + std::string confDir; + phosphor::Descriptor smartSock; + TestRtNetlink() + { + manager = + std::make_unique<Manager>(bus, "/xyz/openbmc_test/bcd", "/tmp"); + sd_event* events; + sd_event_default(&events); + eventPtr.reset(events); + events = nullptr; + setConfDir(); + initializeTimers(); + createNetLinkSocket(); + bus.attach_event(eventPtr.get(), SD_EVENT_PRIORITY_NORMAL); + rtnetlink::Server svr(eventPtr, smartSock); + } - TestRtNetlink() - { - manager = - std::make_unique<Manager>(bus, - "/xyz/openbmc_test/bcd", - "/tmp"); - sd_event* events; - sd_event_default(&events); - eventPtr.reset(events); - events = nullptr; - setConfDir(); - initializeTimers(); - createNetLinkSocket(); - bus.attach_event(eventPtr.get(), SD_EVENT_PRIORITY_NORMAL); - rtnetlink::Server svr(eventPtr, smartSock); - } - - ~TestRtNetlink() + ~TestRtNetlink() + { + if (confDir.empty()) { - if (confDir.empty()) - { - fs::remove_all(confDir); - } + fs::remove_all(confDir); } + } - void setConfDir() - { - char tmp[] = "/tmp/NetworkManager.XXXXXX"; - confDir = mkdtemp(tmp); - manager->setConfDir(confDir); - } + void setConfDir() + { + char tmp[] = "/tmp/NetworkManager.XXXXXX"; + confDir = mkdtemp(tmp); + manager->setConfDir(confDir); + } - bool isInterfaceAdded(std::string intf) - { - return manager->interfaces.find(intf) != manager->interfaces.end()? - true : - false; - } + bool isInterfaceAdded(std::string intf) + { + return manager->interfaces.find(intf) != manager->interfaces.end() + ? true + : false; + } - void createNetLinkSocket() - { - //RtnetLink socket - auto fd = socket(PF_NETLINK, SOCK_RAW | SOCK_NONBLOCK, - NETLINK_ROUTE); - smartSock.set(fd); - } + void createNetLinkSocket() + { + // RtnetLink socket + auto fd = socket(PF_NETLINK, SOCK_RAW | SOCK_NONBLOCK, NETLINK_ROUTE); + smartSock.set(fd); + } }; - TEST_F(TestRtNetlink, WithSingleInterface) { using namespace std::chrono; // Adds the following ip in the getifaddrs list. - mock_addIP("igb5", "127.0.0.1", "255.255.255.128", - IFF_UP | IFF_RUNNING); + mock_addIP("igb5", "127.0.0.1", "255.255.255.128", IFF_UP | IFF_RUNNING); constexpr auto BUFSIZE = 4096; std::array<char, BUFSIZE> msgBuf = {0}; @@ -126,14 +115,13 @@ TEST_F(TestRtNetlink, WithSingleInterface) int i = 3; while (i--) { - //wait for timer to expire - std::this_thread::sleep_for( - std::chrono::milliseconds(refreshTimeout)); + // wait for timer to expire + std::this_thread::sleep_for(std::chrono::milliseconds(refreshTimeout)); sd_event_run(eventPtr.get(), 10); }; EXPECT_EQ(true, isInterfaceAdded("igb5")); } -}// namespce network -}// namespace phosphor +} // namespace network +} // namespace phosphor |