diff --git a/test/fanpwm_unittest.cpp b/test/fanpwm_unittest.cpp
index 0c34ab2..112f3e5 100644
--- a/test/fanpwm_unittest.cpp
+++ b/test/fanpwm_unittest.cpp
@@ -44,7 +44,7 @@
                 [=](sd_bus*, const char*, const char*, const char** names) {
             EXPECT_STREQ(property.c_str(), names[0]);
             return 0;
-            }));
+        }));
     }
 
     return;
@@ -142,9 +142,9 @@
                     IsNull(), StrEq("asdf"), StrEq(FanPwmIntf), NotNull()))
         .WillOnce(
             Invoke([&](sd_bus*, const char*, const char*, const char** names) {
-                EXPECT_EQ(0, strncmp("Target", names[0], 6));
-                return 0;
-            }));
+        EXPECT_EQ(0, strncmp("Target", names[0], 6));
+        return 0;
+    }));
 
     EXPECT_EQ(target, f.target(target));
 }
diff --git a/test/sensor_unittest.cpp b/test/sensor_unittest.cpp
index a1026cc..dd57595 100644
--- a/test/sensor_unittest.cpp
+++ b/test/sensor_unittest.cpp
@@ -90,8 +90,8 @@
 
     EXPECT_CALL(gMock, build(StrEq("chipA"), StrEq("5")))
         .WillOnce(Invoke([&](const std::string&, const std::string&) {
-            return std::move(handleMock);
-        }));
+        return std::move(handleMock);
+    }));
 
     /* Always calls GAIN and OFFSET, can use ON_CALL instead of EXPECT_CALL */
     EXPECT_CALL(env::mockEnv, get(StrEq("GAIN_temp5"))).WillOnce(Return(""));
