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',
]


if get_option('oem-ibm').allowed()
  tests += [
    '../../oem/ibm/test/libpldmresponder_fileio_test',
    '../../oem/ibm/test/libpldmresponder_oem_platform_test'
  ]
endif

if get_option('system-specific-bios-json').allowed()
  tests += [
    'libpldmresponder_systemspecific_bios_test'
  ]
else
  tests += [
    'libpldmresponder_bios_config_test'
  ]
endif

foreach t : tests
  test(t, executable(t.underscorify(), t + '.cpp',
                     implicit_include_directories: false,
                     include_directories: [ '../../requester', '../../pldmd' ],
                     link_args: dynamic_linker,
                     build_rpath: get_option('oe-sdk').allowed() ? rpath : '',
                     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
