diff --git a/test/meson.build b/test/meson.build
index 440bec1..f54bbcc 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -8,63 +8,60 @@
                 dependency('threads'),
                 gtest_proj.dependency('gtest'),
                 gtest_proj.dependency('gtest_main'),
-            ]
+            ],
         )
         gmock_dep = gtest_proj.dependency('gmock')
-  else
+    else
         assert(
             not get_option('tests').allowed(),
-            'Googletest is required if tests are enabled'
+            'Googletest is required if tests are enabled',
         )
-  endif
+    endif
 endif
 
 test_sources = [
-  '../occ_pass_through.cpp',
-  '../occ_manager.cpp',
-  '../occ_status.cpp',
-  '../occ_device.cpp',
-  '../occ_errors.cpp',
-  '../occ_ffdc.cpp',
-  '../occ_presence.cpp',
-  '../occ_command.cpp',
-  '../occ_dbus.cpp',
-  '../powercap.cpp',
-  '../i2c_occ.cpp',
-  '../utils.cpp',
-  occ_sensor_hpp,
+    '../occ_pass_through.cpp',
+    '../occ_manager.cpp',
+    '../occ_status.cpp',
+    '../occ_device.cpp',
+    '../occ_errors.cpp',
+    '../occ_ffdc.cpp',
+    '../occ_presence.cpp',
+    '../occ_command.cpp',
+    '../occ_dbus.cpp',
+    '../powercap.cpp',
+    '../i2c_occ.cpp',
+    '../utils.cpp',
+    occ_sensor_hpp,
 ]
 
-if get_option('with-host-communication-protocol')=='pldm'
-    test_sources += [
-        '../pldm.cpp',
-    ]
+if get_option('with-host-communication-protocol') == 'pldm'
+    test_sources += ['../pldm.cpp']
 endif
 
 if get_option('power10-support').allowed()
-    test_sources += [
-        '../powermode.cpp',
-    ]
+    test_sources += ['../powermode.cpp']
 endif
 
 tests = [
-  'error_files_tests.cpp',
-  'occ_dbus_test.cpp',
-  'TestI2cOcc.cpp',
-  'utest.cpp',
+    'error_files_tests.cpp',
+    'occ_dbus_test.cpp',
+    'TestI2cOcc.cpp',
+    'utest.cpp',
 ]
 
 pthread_dep = dependency('threads')
 
 foreach t : tests
-  test(t, executable(t.underscorify(), t,
-                     test_sources,
-                     include_directories: '..',
-                     dependencies: [
-                         gtest_dep,
-                         gmock_dep,
-                         pthread_dep,
-                         deps
-                         ]),
-       workdir: meson.current_source_dir())
+    test(
+        t,
+        executable(
+            t.underscorify(),
+            t,
+            test_sources,
+            include_directories: '..',
+            dependencies: [gtest_dep, gmock_dep, pthread_dep, deps],
+        ),
+        workdir: meson.current_source_dir(),
+    )
 endforeach
