diff --git a/test/source/signal.cpp b/test/source/signal.cpp
index effd7a3..4c95f3a 100644
--- a/test/source/signal.cpp
+++ b/test/source/signal.cpp
@@ -84,8 +84,8 @@
     }
     int completions = 0;
     const struct signalfd_siginfo* return_si;
-    Signal::Callback callback =
-        [&](Signal&, const struct signalfd_siginfo* si) {
+    Signal::Callback callback = [&](Signal&,
+                                    const struct signalfd_siginfo* si) {
         return_si = si;
         completions++;
     };
@@ -116,8 +116,8 @@
                                           testing::_, nullptr))
         .WillOnce(Return(-EINVAL));
     int completions = 0;
-    Signal::Callback callback =
-        [&completions](Signal&, const struct signalfd_siginfo*) {
+    Signal::Callback callback = [&completions](Signal&,
+                                               const struct signalfd_siginfo*) {
         completions++;
     };
     EXPECT_THROW(Signal(*event, sig, std::move(callback)), SdEventError);
diff --git a/test/source/time.cpp b/test/source/time.cpp
index 5cef5d8..44b8228 100644
--- a/test/source/time.cpp
+++ b/test/source/time.cpp
@@ -63,8 +63,8 @@
     const Time<id>::TimePoint expected_time(std::chrono::seconds{2});
     const Time<id>::Accuracy expected_accuracy(std::chrono::milliseconds{50});
     Time<id>::TimePoint saved_time;
-    Time<id>::Callback callback =
-        [&saved_time](Time<id>&, Time<id>::TimePoint time) {
+    Time<id>::Callback callback = [&saved_time](Time<id>&,
+                                                Time<id>::TimePoint time) {
         saved_time = time;
     };
 
