diff --git a/subprojects/ncsid/test/nic_mock.cpp b/subprojects/ncsid/test/nic_mock.cpp
index 20f7f56..ce3224c 100644
--- a/subprojects/ncsid/test/nic_mock.cpp
+++ b/subprojects/ncsid/test/nic_mock.cpp
@@ -74,8 +74,8 @@
         payload_offset += sizeof(ncsi_oem_extension_header_t);
     }
 
-    packet_raw_ = std::vector<uint8_t>(ncsi_buf.data,
-                                       ncsi_buf.data + ncsi_buf.len);
+    packet_raw_ =
+        std::vector<uint8_t>(ncsi_buf.data, ncsi_buf.data + ncsi_buf.len);
     // TODO: Verify payload length.
 
     return true;
@@ -102,8 +102,8 @@
              simple_commands_.end())
     {
         // Simple Response
-        response_size = ncsi_build_simple_ack(request_buf.data,
-                                              response_buf->data);
+        response_size =
+            ncsi_build_simple_ack(request_buf.data, response_buf->data);
     }
     else
     {
@@ -187,8 +187,8 @@
         }
         break;
         case NCSI_OEM_COMMAND_ECHO:
-            response_size = ncsi_build_oem_echo_ack(request_buf.data,
-                                                    response_buf->data);
+            response_size =
+                ncsi_build_oem_echo_ack(request_buf.data, response_buf->data);
             break;
         case NCSI_OEM_COMMAND_GET_FILTER:
         {
@@ -287,14 +287,14 @@
 
     if (channel_count_ > 0)
     {
-        ch0_filter_.flags = flag_op(ch0_filter_.flags,
-                                    NCSI_OEM_FILTER_FLAGS_HOSTLESS);
+        ch0_filter_.flags =
+            flag_op(ch0_filter_.flags, NCSI_OEM_FILTER_FLAGS_HOSTLESS);
     }
 
     if (channel_count_ > 1)
     {
-        ch1_filter_.flags = flag_op(ch1_filter_.flags,
-                                    NCSI_OEM_FILTER_FLAGS_HOSTLESS);
+        ch1_filter_.flags =
+            flag_op(ch1_filter_.flags, NCSI_OEM_FILTER_FLAGS_HOSTLESS);
     }
 }
 
