diff --git a/test/process_unittest.cpp b/test/process_unittest.cpp
index 1a0d6e4..9d0d06c 100644
--- a/test/process_unittest.cpp
+++ b/test/process_unittest.cpp
@@ -3,8 +3,9 @@
 #include "manager_mock.hpp"
 #include "process.hpp"
 
-#include <cstring>
 #include <ipmiblob/test/crc_mock.hpp>
+
+#include <cstring>
 #include <span>
 
 #include <gtest/gtest.h>
@@ -212,8 +213,8 @@
     std::vector<uint8_t> request(MAX_IPMI_BUFFER - 1);
     uint32_t payloadLen = sizeof(uint16_t) + sizeof(uint8_t);
 
-    IpmiBlobHandler h = [payloadLen](ManagerInterface*,
-                                     std::span<const uint8_t>) {
+    IpmiBlobHandler h =
+        [payloadLen](ManagerInterface*, std::span<const uint8_t>) {
         std::vector<uint8_t> output(payloadLen, 0);
         output[2] = 0x56;
         return ipmi::responseSuccess(output);
@@ -238,8 +239,8 @@
     std::vector<uint8_t> request(MAX_IPMI_BUFFER - 1);
     uint32_t payloadLen = sizeof(uint16_t) + sizeof(uint8_t);
 
-    IpmiBlobHandler h = [payloadLen](ManagerInterface*,
-                                     std::span<const uint8_t>) {
+    IpmiBlobHandler h =
+        [payloadLen](ManagerInterface*, std::span<const uint8_t>) {
         std::vector<uint8_t> output(payloadLen, 0);
         output[2] = 0x56;
         return ipmi::responseSuccess(output);
