diff --git a/test/ibm/hypervisor-network-mgr-test/mock_hyp_sys_config.hpp b/test/ibm/hypervisor-network-mgr-test/mock_hyp_sys_config.hpp
index 1f5b6e6..f44de21 100644
--- a/test/ibm/hypervisor-network-mgr-test/mock_hyp_sys_config.hpp
+++ b/test/ibm/hypervisor-network-mgr-test/mock_hyp_sys_config.hpp
@@ -17,8 +17,7 @@
     MockHypSysConfig(sdbusplus::bus_t& bus, const std::string& objPath,
                      HypNetworkMgr& parent) :
         HypSysConfig(bus, objPath, parent)
-    {
-    }
+    {}
 
     void setHostname(std::string hn)
     {
diff --git a/test/mock_ethernet_interface.hpp b/test/mock_ethernet_interface.hpp
index 91e9bf5..8c12926 100644
--- a/test/mock_ethernet_interface.hpp
+++ b/test/mock_ethernet_interface.hpp
@@ -13,8 +13,7 @@
     template <typename... Args>
     MockEthernetInterface(Args&&... args) :
         EthernetInterface(std::forward<Args>(args)..., /*nicEnabled=*/true)
-    {
-    }
+    {}
 
     MOCK_METHOD((ServerList), getNTPServerFromTimeSyncd, (), (override));
     MOCK_METHOD((ServerList), getNameServerFromResolvd, (), (override));
diff --git a/test/mock_syscall.cpp b/test/mock_syscall.cpp
index 0699ceb..fa2ae2d 100644
--- a/test/mock_syscall.cpp
+++ b/test/mock_syscall.cpp
@@ -14,13 +14,14 @@
 #include <sys/types.h>
 #include <unistd.h>
 
+#include <stdplus/raw.hpp>
+
 #include <cstdarg>
 #include <cstdio>
 #include <cstring>
 #include <map>
 #include <queue>
 #include <stdexcept>
-#include <stdplus/raw.hpp>
 #include <string>
 #include <string_view>
 #include <vector>
@@ -151,8 +152,8 @@
     return in.size();
 }
 
-extern "C" {
-
+extern "C"
+{
 int ioctl(int fd, unsigned long int request, ...)
 {
     va_list vl;
diff --git a/test/test_config_parser.cpp b/test/test_config_parser.cpp
index e742cdf..2948c73 100644
--- a/test/test_config_parser.cpp
+++ b/test/test_config_parser.cpp
@@ -4,15 +4,16 @@
 #include <fmt/compile.h>
 #include <fmt/format.h>
 
-#include <exception>
-#include <fstream>
 #include <phosphor-logging/elog-errors.hpp>
-#include <stdexcept>
 #include <stdplus/fd/atomic.hpp>
 #include <stdplus/fd/fmt.hpp>
 #include <stdplus/gtest/tmp.hpp>
 #include <xyz/openbmc_project/Common/error.hpp>
 
+#include <exception>
+#include <fstream>
+#include <stdexcept>
+
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
 
diff --git a/test/test_ethernet_interface.cpp b/test/test_ethernet_interface.cpp
index 884224b..7b72166 100644
--- a/test/test_ethernet_interface.cpp
+++ b/test/test_ethernet_interface.cpp
@@ -7,9 +7,10 @@
 
 #include <sdbusplus/bus.hpp>
 #include <stdplus/gtest/tmp.hpp>
-#include <string_view>
 #include <xyz/openbmc_project/Common/error.hpp>
 
+#include <string_view>
+
 #include <gtest/gtest.h>
 
 namespace phosphor
@@ -33,8 +34,7 @@
         manager(bus, "/xyz/openbmc_test/network", confDir),
         interface(makeInterface(bus, manager))
 
-    {
-    }
+    {}
 
     static MockEthernetInterface
         makeInterface(stdplus::PinnedRef<sdbusplus::bus_t> bus,
diff --git a/test/test_netlink.cpp b/test/test_netlink.cpp
index c6f7983..4514fa4 100644
--- a/test/test_netlink.cpp
+++ b/test/test_netlink.cpp
@@ -5,9 +5,10 @@
 #include <linux/netlink.h>
 #include <linux/rtnetlink.h>
 
+#include <stdplus/raw.hpp>
+
 #include <cstring>
 #include <stdexcept>
-#include <stdplus/raw.hpp>
 #include <string_view>
 
 #include <gtest/gtest.h>
diff --git a/test/test_network_manager.cpp b/test/test_network_manager.cpp
index 7e39665..03d2944 100644
--- a/test/test_network_manager.cpp
+++ b/test/test_network_manager.cpp
@@ -2,10 +2,11 @@
 
 #include "config_parser.hpp"
 
-#include <filesystem>
 #include <sdbusplus/bus.hpp>
 #include <stdplus/gtest/tmp.hpp>
 
+#include <filesystem>
+
 #include <gtest/gtest.h>
 
 namespace phosphor
@@ -24,8 +25,7 @@
     TestNetworkManager() :
         bus(sdbusplus::bus::new_default()),
         manager(bus, "/xyz/openbmc_test/abc", CaseTmpDir())
-    {
-    }
+    {}
 
     void deleteVLAN(std::string_view ifname)
     {
diff --git a/test/test_network_manager.hpp b/test/test_network_manager.hpp
index 68d5088..a9a7985 100644
--- a/test/test_network_manager.hpp
+++ b/test/test_network_manager.hpp
@@ -11,7 +11,7 @@
 struct MockExecutor : DelayedExecutor
 {
     MOCK_METHOD((void), schedule, (), (override));
-    MOCK_METHOD((void), setCallback, (fu2::unique_function<void()> &&),
+    MOCK_METHOD((void), setCallback, (fu2::unique_function<void()>&&),
                 (override));
 };
 
@@ -36,8 +36,7 @@
                        stdplus::zstring_view path,
                        const std::filesystem::path& dir) :
         Manager(bus, reloadForManager(), path, dir)
-    {
-    }
+    {}
 
     using Manager::handleAdminState;
 };
diff --git a/test/test_util.cpp b/test/test_util.cpp
index 9e1b4d0..7d4c611 100644
--- a/test/test_util.cpp
+++ b/test/test_util.cpp
@@ -1,7 +1,8 @@
 #include "util.hpp"
 
-#include <stdexcept>
 #include <stdplus/raw.hpp>
+
+#include <stdexcept>
 #include <string>
 #include <string_view>
 
