diff --git a/libpldmresponder/meson.build b/libpldmresponder/meson.build
index 4f62f4d..4a0f697 100644
--- a/libpldmresponder/meson.build
+++ b/libpldmresponder/meson.build
@@ -1,81 +1,81 @@
 libpldmresponder_deps = [
-  phosphor_dbus_interfaces,
-  phosphor_logging_dep,
-  nlohmann_json_dep,
-  sdbusplus,
-  sdeventplus,
-  libpldm_dep,
-  libpldmutils
+    phosphor_dbus_interfaces,
+    phosphor_logging_dep,
+    nlohmann_json_dep,
+    sdbusplus,
+    sdeventplus,
+    libpldm_dep,
+    libpldmutils,
 ]
 
 sources = [
-  'base.cpp',
-  'bios.cpp',
-  'bios_table.cpp',
-  'bios_attribute.cpp',
-  'bios_string_attribute.cpp',
-  'bios_integer_attribute.cpp',
-  'bios_enum_attribute.cpp',
-  'bios_config.cpp',
-  'pdr_utils.cpp',
-  'pdr.cpp',
-  'platform.cpp',
-  'platform_config.cpp',
-  'fru_parser.cpp',
-  'fru.cpp',
-  '../host-bmc/host_pdr_handler.cpp',
-  '../host-bmc/utils.cpp',
-  '../host-bmc/dbus_to_event_handler.cpp',
-  '../host-bmc/dbus_to_host_effecters.cpp',
-  '../host-bmc/host_condition.cpp',
-  '../host-bmc/dbus/custom_dbus.cpp',
-  '../host-bmc/dbus/cable.cpp',
-  '../host-bmc/dbus/cpu_core.cpp',
-  '../host-bmc/utils.cpp',
-  '../host-bmc/dbus/pcie_device.cpp',
-  '../host-bmc/dbus/pcie_slot.cpp',
-  'event_parser.cpp'
+    'base.cpp',
+    'bios.cpp',
+    'bios_table.cpp',
+    'bios_attribute.cpp',
+    'bios_string_attribute.cpp',
+    'bios_integer_attribute.cpp',
+    'bios_enum_attribute.cpp',
+    'bios_config.cpp',
+    'pdr_utils.cpp',
+    'pdr.cpp',
+    'platform.cpp',
+    'platform_config.cpp',
+    'fru_parser.cpp',
+    'fru.cpp',
+    '../host-bmc/host_pdr_handler.cpp',
+    '../host-bmc/utils.cpp',
+    '../host-bmc/dbus_to_event_handler.cpp',
+    '../host-bmc/dbus_to_host_effecters.cpp',
+    '../host-bmc/host_condition.cpp',
+    '../host-bmc/dbus/custom_dbus.cpp',
+    '../host-bmc/dbus/cable.cpp',
+    '../host-bmc/dbus/cpu_core.cpp',
+    '../host-bmc/utils.cpp',
+    '../host-bmc/dbus/pcie_device.cpp',
+    '../host-bmc/dbus/pcie_slot.cpp',
+    'event_parser.cpp',
 ]
 
 responder_headers = ['.']
 
 if get_option('oem-ibm').allowed()
-   responder_headers += [
-    '../oem/ibm/',
-   ]
-  sources += [
-    '../oem/ibm/libpldmresponder/utils.cpp',
-    '../oem/ibm/libpldmresponder/file_io.cpp',
-    '../oem/ibm/libpldmresponder/file_table.cpp',
-    '../oem/ibm/libpldmresponder/file_io_by_type.cpp',
-    '../oem/ibm/libpldmresponder/file_io_type_pel.cpp',
-    '../oem/ibm/libpldmresponder/file_io_type_dump.cpp',
-    '../oem/ibm/libpldmresponder/file_io_type_cert.cpp',
-    '../oem/ibm/libpldmresponder/platform_oem_ibm.cpp',
-    '../oem/ibm/libpldmresponder/fru_oem_ibm.cpp',
-    '../oem/ibm/libpldmresponder/oem_ibm_handler.cpp',
-    '../oem/ibm/libpldmresponder/inband_code_update.cpp',
-    '../oem/ibm/requester/dbus_to_file_handler.cpp',
-    '../oem/ibm/libpldmresponder/file_io_type_progress_src.cpp',
-    '../oem/ibm/libpldmresponder/file_io_type_vpd.cpp',
-    '../oem/ibm/libpldmresponder/file_io_type_pcie.cpp',
-    '../oem/ibm/host-bmc/host_lamp_test.cpp',
-  ]
+    responder_headers += ['../oem/ibm/']
+    sources += [
+        '../oem/ibm/libpldmresponder/utils.cpp',
+        '../oem/ibm/libpldmresponder/file_io.cpp',
+        '../oem/ibm/libpldmresponder/file_table.cpp',
+        '../oem/ibm/libpldmresponder/file_io_by_type.cpp',
+        '../oem/ibm/libpldmresponder/file_io_type_pel.cpp',
+        '../oem/ibm/libpldmresponder/file_io_type_dump.cpp',
+        '../oem/ibm/libpldmresponder/file_io_type_cert.cpp',
+        '../oem/ibm/libpldmresponder/platform_oem_ibm.cpp',
+        '../oem/ibm/libpldmresponder/fru_oem_ibm.cpp',
+        '../oem/ibm/libpldmresponder/oem_ibm_handler.cpp',
+        '../oem/ibm/libpldmresponder/inband_code_update.cpp',
+        '../oem/ibm/requester/dbus_to_file_handler.cpp',
+        '../oem/ibm/libpldmresponder/file_io_type_progress_src.cpp',
+        '../oem/ibm/libpldmresponder/file_io_type_vpd.cpp',
+        '../oem/ibm/libpldmresponder/file_io_type_pcie.cpp',
+        '../oem/ibm/host-bmc/host_lamp_test.cpp',
+    ]
 endif
 
 libpldmresponder = library(
-  'pldmresponder',
-  sources,
-  version: meson.project_version(),
-  include_directories:include_directories(responder_headers),
-  dependencies: libpldmresponder_deps,
-  install: true)
+    'pldmresponder',
+    sources,
+    version: meson.project_version(),
+    include_directories: include_directories(responder_headers),
+    dependencies: libpldmresponder_deps,
+    install: true,
+)
 
 libpldmresponder_dep = declare_dependency(
-  include_directories:include_directories(responder_headers),
-  link_with: libpldmresponder)
+    include_directories: include_directories(responder_headers),
+    link_with: libpldmresponder,
+)
 
 if get_option('tests').allowed()
-  subdir('test')
+    subdir('test')
 endif
 
diff --git a/libpldmresponder/test/meson.build b/libpldmresponder/test/meson.build
index 9a9fbc9..fa581cd 100644
--- a/libpldmresponder/test/meson.build
+++ b/libpldmresponder/test/meson.build
@@ -1,50 +1,53 @@
 tests = [
-  'libpldmresponder_base_test',
-  'libpldmresponder_bios_test',
-  'libpldmresponder_bios_attribute_test',
-  'libpldmresponder_bios_enum_attribute_test',
-  'libpldmresponder_bios_integer_attribute_test',
-  'libpldmresponder_bios_string_attribute_test',
-  'libpldmresponder_bios_table_test',
-  'libpldmresponder_fru_test',
-  'libpldmresponder_platform_test',
-  'libpldmresponder_pdr_effecter_test',
-  'libpldmresponder_pdr_sensor_test',
+    'libpldmresponder_base_test',
+    'libpldmresponder_bios_test',
+    'libpldmresponder_bios_attribute_test',
+    'libpldmresponder_bios_enum_attribute_test',
+    'libpldmresponder_bios_integer_attribute_test',
+    'libpldmresponder_bios_string_attribute_test',
+    'libpldmresponder_bios_table_test',
+    'libpldmresponder_fru_test',
+    'libpldmresponder_platform_test',
+    'libpldmresponder_pdr_effecter_test',
+    'libpldmresponder_pdr_sensor_test',
 ]
 
 
 if get_option('oem-ibm').allowed()
-  tests += [
-    '../../oem/ibm/test/libpldmresponder_fileio_test',
-    '../../oem/ibm/test/libpldmresponder_oem_platform_test',
-    '../../oem/ibm/test/host_bmc_lamp_test',
-  ]
+    tests += [
+        '../../oem/ibm/test/libpldmresponder_fileio_test',
+        '../../oem/ibm/test/libpldmresponder_oem_platform_test',
+        '../../oem/ibm/test/host_bmc_lamp_test',
+    ]
 endif
 
 if get_option('system-specific-bios-json').allowed()
-  tests += [
-    'libpldmresponder_systemspecific_bios_test'
-  ]
+    tests += ['libpldmresponder_systemspecific_bios_test']
 else
-  tests += [
-    'libpldmresponder_bios_config_test'
-  ]
+    tests += ['libpldmresponder_bios_config_test']
 endif
 
 foreach t : tests
-  test(t, executable(t.underscorify(), t + '.cpp',
-                     implicit_include_directories: false,
-                     include_directories: [ '../../requester', '../../pldmd' ],
-                     dependencies: [
-                         libpldm_dep,
-                         libpldmresponder_dep,
-                         libpldmutils,
-                         gtest,
-                         gmock,
-                         nlohmann_json_dep,
-                         phosphor_dbus_interfaces,
-                         phosphor_logging_dep,
-                         sdeventplus,
-                         sdbusplus]),
-       workdir: meson.current_source_dir())
+    test(
+        t,
+        executable(
+            t.underscorify(),
+            t + '.cpp',
+            implicit_include_directories: false,
+            include_directories: ['../../requester', '../../pldmd'],
+            dependencies: [
+                libpldm_dep,
+                libpldmresponder_dep,
+                libpldmutils,
+                gtest,
+                gmock,
+                nlohmann_json_dep,
+                phosphor_dbus_interfaces,
+                phosphor_logging_dep,
+                sdeventplus,
+                sdbusplus,
+            ],
+        ),
+        workdir: meson.current_source_dir(),
+    )
 endforeach
