diff --git a/meson.build b/meson.build
index 5b0a57c..b11a3eb 100644
--- a/meson.build
+++ b/meson.build
@@ -1,13 +1,14 @@
 project(
-    'phosphor-pid-control', 'cpp',
-    version : '1.0.0',
+    'phosphor-pid-control',
+    'cpp',
+    version: '1.0.0',
     meson_version: '>=1.1.1',
     default_options: [
         'warning_level=3',
         'werror=true',
         'cpp_std=c++23',
         'b_lto=true',
-    ]
+    ],
 )
 
 cxx = meson.get_compiler('cpp')
@@ -21,18 +22,26 @@
 conf_data.set('OFFLINE_FAILSAFE_PWM', get_option('offline-failsafe-pwm'))
 conf_data.set('UNC_FAILSAFE', get_option('unc-failsafe'))
 
-configure_file(output: 'config.h',
-    configuration: conf_data
-)
+configure_file(output: 'config.h', configuration: conf_data)
 
 if get_option('oe-sdk').allowed()
-    OECORE_TARGET_SYSROOT = run_command('sh', '-c', 'echo $OECORE_TARGET_SYSROOT').stdout().strip()
+    OECORE_TARGET_SYSROOT = run_command(
+        'sh',
+        '-c',
+        'echo $OECORE_TARGET_SYSROOT',
+    ).stdout().strip()
     if OECORE_TARGET_SYSROOT == ''
         error('OECORE_TARGET_SYSROOT must be set with enable oe-sdk')
     endif
     message('Enabling OE-SDK at OECORE_TARGET_SYSROOT: ' + OECORE_TARGET_SYSROOT)
-    rpath = ':'.join([OECORE_TARGET_SYSROOT + '/lib', OECORE_TARGET_SYSROOT + '/usr/lib'])
-    ld_so = run_command('sh', '-c', 'find ' + OECORE_TARGET_SYSROOT + '/lib/ld-*.so | sort -r -n | head -n1').stdout().strip()
+    rpath = ':'.join(
+        [OECORE_TARGET_SYSROOT + '/lib', OECORE_TARGET_SYSROOT + '/usr/lib'],
+    )
+    ld_so = run_command(
+        'sh',
+        '-c',
+        'find ' + OECORE_TARGET_SYSROOT + '/lib/ld-*.so | sort -r -n | head -n1',
+    ).stdout().strip()
     dynamic_linker = ['-Wl,-dynamic-linker,' + ld_so]
 else
     dynamic_linker = []
@@ -40,14 +49,17 @@
 
 systemd = dependency('systemd')
 systemd_system_unit_dir = systemd.get_variable(
-        'systemdsystemunitdir',
-        pkgconfig_define: ['prefix', get_option('prefix')])
+    'systemdsystemunitdir',
+    pkgconfig_define: ['prefix', get_option('prefix')],
+)
 
-configure_file(input: 'phosphor-pid-control.service.in',
-               output: 'phosphor-pid-control.service',
-               configuration: conf_data,
-               install: true,
-               install_dir: systemd_system_unit_dir)
+configure_file(
+    input: 'phosphor-pid-control.service.in',
+    output: 'phosphor-pid-control.service',
+    configuration: conf_data,
+    install: true,
+    install_dir: systemd_system_unit_dir,
+)
 
 nlohmann_json_dep = dependency('nlohmann_json', include_type: 'system')
 phosphor_dbus_interfaces_dep = dependency('phosphor-dbus-interfaces')
@@ -86,9 +98,7 @@
     'sysfs',
 )
 
-setsensor_sources = [
-    'setsensor.cpp'
-]
+setsensor_sources = ['setsensor.cpp']
 
 libswampd_sources = [
     'main.cpp',
@@ -144,7 +154,8 @@
     version: meson.project_version(),
     override_options: ['b_lundef=false'],
     install: true,
-    install_dir: get_option('libdir') / 'ipmid-providers')
+    install_dir: get_option('libdir') / 'ipmid-providers',
+)
 
 executable(
     'swampd',
@@ -153,7 +164,7 @@
     include_directories: root_inc,
     dependencies: deps,
     install: true,
-    install_dir: get_option('bindir')
+    install_dir: get_option('bindir'),
 )
 
 executable(
@@ -162,7 +173,7 @@
     implicit_include_directories: true,
     dependencies: deps,
     install: true,
-    install_dir: get_option('bindir')
+    install_dir: get_option('bindir'),
 )
 
 if not get_option('tests').disabled()
diff --git a/meson.options b/meson.options
index a33730f..f4182ca 100644
--- a/meson.options
+++ b/meson.options
@@ -1,6 +1,31 @@
 option('tests', type: 'feature', value: 'enabled', description: 'Build tests')
-option('oe-sdk', type: 'feature', value: 'disabled', description: 'Enable OE SDK')
-option('strict-failsafe-pwm', type: 'boolean', value: false, description: 'Set the fans strictly at the failsafe PWM when in failsafe mode')
-option('offline-failsafe-pwm', type: 'boolean', value: false, description: 'Set the fans at the failsafe PWM when reloading or terminated.')
-option('systemd_target', type: 'string', value: 'multi-user.target', description: 'Target for starting this service')
-option('unc-failsafe', type: 'boolean', value: false, description: 'Set the fans to failsafe mode when a temp sensor is above upper non-critical threshold')
+option(
+    'oe-sdk',
+    type: 'feature',
+    value: 'disabled',
+    description: 'Enable OE SDK',
+)
+option(
+    'strict-failsafe-pwm',
+    type: 'boolean',
+    value: false,
+    description: 'Set the fans strictly at the failsafe PWM when in failsafe mode',
+)
+option(
+    'offline-failsafe-pwm',
+    type: 'boolean',
+    value: false,
+    description: 'Set the fans at the failsafe PWM when reloading or terminated.',
+)
+option(
+    'systemd_target',
+    type: 'string',
+    value: 'multi-user.target',
+    description: 'Target for starting this service',
+)
+option(
+    'unc-failsafe',
+    type: 'boolean',
+    value: false,
+    description: 'Set the fans to failsafe mode when a temp sensor is above upper non-critical threshold',
+)
diff --git a/test/meson.build b/test/meson.build
index 61b8b26..69b883c 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -5,11 +5,12 @@
     gtest_proj = import('cmake').subproject('googletest', required: false)
     if gtest_proj.found()
         gtest = declare_dependency(
-        dependencies: [
-            dependency('threads'),
-            gtest_proj.dependency('gtest'),
-            gtest_proj.dependency('gtest_main'),
-        ])
+            dependencies: [
+                dependency('threads'),
+                gtest_proj.dependency('gtest'),
+                gtest_proj.dependency('gtest_main'),
+            ],
+        )
         gmock = gtest_proj.dependency('gmock')
     else
         assert(not get_option('tests').enabled(), 'Googletest is required')
@@ -37,59 +38,70 @@
 
 unittest_source = {
     'dbus_active_unittest': ['../dbus/dbusactiveread.cpp'],
-    'dbus_passive_unittest': ['../dbus/dbuspassive.cpp',
-                              '../dbus/dbuspassiveredundancy.cpp',
-                              '../dbus/dbusutil.cpp',
-                              '../failsafeloggers/failsafe_logger_utility.cpp'],
+    'dbus_passive_unittest': [
+        '../dbus/dbuspassive.cpp',
+        '../dbus/dbuspassiveredundancy.cpp',
+        '../dbus/dbusutil.cpp',
+        '../failsafeloggers/failsafe_logger_utility.cpp',
+    ],
     'dbus_util_unittest': ['../dbus/dbusutil.cpp'],
     'json_parse_unittest': ['../buildjson/buildjson.cpp'],
-    'pid_json_unittest': ['../pid/buildjson.cpp',
-                          '../util.cpp'],
-    'pid_fancontroller_unittest': ['../pid/ec/pid.cpp',
-                                   '../pid/ec/logging.cpp',
-                                   '../pid/fancontroller.cpp',
-                                   '../pid/pidcontroller.cpp',
-                                   '../pid/tuning.cpp',
-                                   '../pid/util.cpp'],
-    'pid_stepwisecontroller_unittest': ['../pid/ec/stepwise.cpp',
-                                        '../pid/stepwisecontroller.cpp',
-                                        '../pid/tuning.cpp',
-                                        '../pid/util.cpp'],
-    'pid_thermalcontroller_unittest': ['../pid/ec/pid.cpp',
-                                       '../pid/ec/logging.cpp',
-                                       '../pid/pidcontroller.cpp',
-                                       '../pid/thermalcontroller.cpp',
-                                       '../pid/tuning.cpp',
-                                       '../pid/util.cpp'],
-    'pid_zone_unittest': ['../failsafeloggers/builder.cpp',
-                          '../failsafeloggers/failsafe_logger.cpp',
-                          '../failsafeloggers/failsafe_logger_utility.cpp',
-                          '../pid/ec/pid.cpp',
-                          '../pid/ec/logging.cpp',
-                          '../pid/pidcontroller.cpp',
-                          '../pid/tuning.cpp',
-                          '../pid/zone.cpp',
-                          '../sensors/manager.cpp'],
-    'sensor_host_unittest': ['../failsafeloggers/failsafe_logger.cpp',
-                             '../failsafeloggers/failsafe_logger_utility.cpp',
-                             '../sensors/host.cpp'],
+    'pid_json_unittest': ['../pid/buildjson.cpp', '../util.cpp'],
+    'pid_fancontroller_unittest': [
+        '../pid/ec/pid.cpp',
+        '../pid/ec/logging.cpp',
+        '../pid/fancontroller.cpp',
+        '../pid/pidcontroller.cpp',
+        '../pid/tuning.cpp',
+        '../pid/util.cpp',
+    ],
+    'pid_stepwisecontroller_unittest': [
+        '../pid/ec/stepwise.cpp',
+        '../pid/stepwisecontroller.cpp',
+        '../pid/tuning.cpp',
+        '../pid/util.cpp',
+    ],
+    'pid_thermalcontroller_unittest': [
+        '../pid/ec/pid.cpp',
+        '../pid/ec/logging.cpp',
+        '../pid/pidcontroller.cpp',
+        '../pid/thermalcontroller.cpp',
+        '../pid/tuning.cpp',
+        '../pid/util.cpp',
+    ],
+    'pid_zone_unittest': [
+        '../failsafeloggers/builder.cpp',
+        '../failsafeloggers/failsafe_logger.cpp',
+        '../failsafeloggers/failsafe_logger_utility.cpp',
+        '../pid/ec/pid.cpp',
+        '../pid/ec/logging.cpp',
+        '../pid/pidcontroller.cpp',
+        '../pid/tuning.cpp',
+        '../pid/zone.cpp',
+        '../sensors/manager.cpp',
+    ],
+    'sensor_host_unittest': [
+        '../failsafeloggers/failsafe_logger.cpp',
+        '../failsafeloggers/failsafe_logger_utility.cpp',
+        '../sensors/host.cpp',
+    ],
     'sensor_manager_unittest': ['../sensors/manager.cpp'],
     'sensor_pluggable_unittest': ['../sensors/pluggable.cpp'],
     'sensors_json_unittest': ['../sensors/buildjson.cpp'],
-    'util_unittest': ['../sensors/build_utils.cpp']
+    'util_unittest': ['../sensors/build_utils.cpp'],
 }
 
 foreach t : unit_tests
-    test(t, executable(t.underscorify(), t + '.cpp',
-                       unittest_source.get(t),
-                       include_directories: [
-                           swampd_sources,
-                       ],
-                       link_args: dynamic_linker,
-                       build_rpath: get_option('oe-sdk').allowed() ? rpath : '',
-                       dependencies: [
-                           gtest,
-                           gmock,
-                           deps,
-                       ]))
+    test(
+        t,
+        executable(
+            t.underscorify(),
+            t + '.cpp',
+            unittest_source.get(t),
+            include_directories: [swampd_sources],
+            link_args: dynamic_linker,
+            build_rpath: get_option('oe-sdk').allowed() ? rpath : '',
+            dependencies: [gtest, gmock, deps],
+        ),
+    )
 endforeach
