diff --git a/test/meson.build b/test/meson.build
index fdf2908..36f87ff 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -1,62 +1,76 @@
 oe_sdk = get_option('oe-sdk')
 if oe_sdk.allowed()
-  # Setup OE SYSROOT
-  OECORE_TARGET_SYSROOT = run_command('sh', '-c', 'echo $OECORE_TARGET_SYSROOT').stdout().strip()
-  if OECORE_TARGET_SYSROOT == ''
-      error('Unable to get $OECORE_TARGET_SYSROOT, check your environment.')
-  endif
-  message('OE_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()
-  dynamic_linker = ['-Wl,-dynamic-linker,' + ld_so]
+    # Setup OE SYSROOT
+    OECORE_TARGET_SYSROOT = run_command(
+        'sh',
+        '-c',
+        'echo $OECORE_TARGET_SYSROOT',
+    ).stdout().strip()
+    if OECORE_TARGET_SYSROOT == ''
+        error('Unable to get $OECORE_TARGET_SYSROOT, check your environment.')
+    endif
+    message('OE_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()
+    dynamic_linker = ['-Wl,-dynamic-linker,' + ld_so]
 else
-  dynamic_linker = []
+    dynamic_linker = []
 endif
 
 gtest = dependency('gtest', main: true, disabler: true, required: build_tests)
 gmock = dependency('gmock', disabler: true, required: build_tests)
 
-configure_file(output: 'config.h',
-  configuration: cdata,
-)
+configure_file(output: 'config.h', configuration: cdata)
 test_inc = include_directories('.')
 
 test_util = executable(
-  'test_util',
-  '../src/utils.cpp',
-  'test_utils.cpp',
-  include_directories: [psu_inc, test_inc],
-  link_args: dynamic_linker,
-  build_rpath: oe_sdk.allowed() ? rpath : '',
-  dependencies: [
-    gtest,
-    gmock,
-    phosphor_logging,
-    phosphor_dbus_interfaces,
-    sdbusplus,
-    ssl,
-  ])
+    'test_util',
+    '../src/utils.cpp',
+    'test_utils.cpp',
+    include_directories: [psu_inc, test_inc],
+    link_args: dynamic_linker,
+    build_rpath: oe_sdk.allowed() ? rpath : '',
+    dependencies: [
+        gtest,
+        gmock,
+        phosphor_logging,
+        phosphor_dbus_interfaces,
+        sdbusplus,
+        ssl,
+    ],
+)
 
 test_phosphor_psu_manager = executable(
-  'test_phosphor_psu_manager',
-  '../src/activation.cpp',
-  '../src/item_updater.cpp',
-  '../src/version.cpp',
-  'test_item_updater.cpp',
-  'test_activation.cpp',
-  'test_version.cpp',
-  include_directories: [psu_inc, test_inc],
-  link_args: dynamic_linker,
-  build_rpath: oe_sdk.allowed() ? rpath : '',
-  dependencies: [
-    gtest,
-    gmock,
-    phosphor_logging,
-    phosphor_dbus_interfaces,
-    sdbusplus,
-    ssl,
-  ])
+    'test_phosphor_psu_manager',
+    '../src/activation.cpp',
+    '../src/item_updater.cpp',
+    '../src/version.cpp',
+    'test_item_updater.cpp',
+    'test_activation.cpp',
+    'test_version.cpp',
+    include_directories: [psu_inc, test_inc],
+    link_args: dynamic_linker,
+    build_rpath: oe_sdk.allowed() ? rpath : '',
+    dependencies: [
+        gtest,
+        gmock,
+        phosphor_logging,
+        phosphor_dbus_interfaces,
+        sdbusplus,
+        ssl,
+    ],
+)
 
 test('util', test_util)
 #test('phosphor_psu_manager', test_phosphor_psu_manager)
-test('phosphor_psu_manager', test_phosphor_psu_manager, workdir: meson.current_source_dir())
+test(
+    'phosphor_psu_manager',
+    test_phosphor_psu_manager,
+    workdir: meson.current_source_dir(),
+)
