xref: /openbmc/pldm/test/meson.build (revision dd04990d)
1if get_option('oe-sdk').enabled()
2  # Setup OE SYSROOT
3  OECORE_TARGET_SYSROOT = run_command('sh', '-c', 'echo $OECORE_TARGET_SYSROOT').stdout().strip()
4  if OECORE_TARGET_SYSROOT == ''
5      error('Unable to get $OECORE_TARGET_SYSROOT, check your environment.')
6  endif
7  message('OE_SYSROOT: ' + OECORE_TARGET_SYSROOT)
8  rpath = ':'.join([OECORE_TARGET_SYSROOT + '/lib', OECORE_TARGET_SYSROOT + '/usr/lib'])
9  ld_so = run_command('sh', '-c', 'find ' + OECORE_TARGET_SYSROOT + '/lib/ld-*.so | sort -r -n | head -n1').stdout().strip()
10  dynamic_linker = ['-Wl,-dynamic-linker,' + ld_so]
11else
12  dynamic_linker = []
13endif
14
15gtest = dependency('gtest', main: true, disabler: true, required: true)
16gmock = dependency('gmock', disabler: true, required: true)
17pldmd = declare_dependency(
18          sources: [
19            '../pldmd/instance_id.cpp',
20            '../pldmd/dbus_impl_requester.cpp',
21            '../host-bmc/host_pdr_handler.cpp',
22            '../host-bmc/dbus_to_host_effecters.cpp'])
23
24tests = [
25  'libpldmresponder_base_test',
26  'libpldmresponder_bios_test',
27  'libpldmresponder_bios_attribute_test',
28  'libpldmresponder_bios_string_attribute_test',
29  'libpldmresponder_bios_config_test',
30  'libpldmresponder_bios_integer_attribute_test',
31  'libpldmresponder_bios_enum_attribute_test',
32  'libpldmresponder_pdr_effecter_test',
33  'libpldmresponder_pdr_sensor_test',
34  'libpldmresponder_bios_table_test',
35  'libpldmresponder_platform_test',
36  'pldmd_instanceid_test',
37  'pldmd_registration_test',
38  'pldm_utils_test',
39  'libpldmresponder_fru_test',
40  'libpldmresponder_dbus_to_host_effecter_test',
41]
42
43if get_option('oem-ibm').enabled()
44  tests += [
45    '../oem/ibm/test/libpldmresponder_fileio_test'
46  ]
47endif
48
49foreach t : tests
50  test(t, executable(t.underscorify(), t + '.cpp',
51                     implicit_include_directories: false,
52                     link_args: dynamic_linker,
53                     build_rpath: get_option('oe-sdk').enabled() ? rpath : '',
54                     dependencies: [
55                         libpldm,
56                         libpldmresponder,
57                         libpldmutils,
58                         gtest,
59                         gmock,
60                         pldmd,
61                         dependency('phosphor-dbus-interfaces'),
62                         dependency('sdeventplus'),
63                         dependency('sdbusplus')]),
64       workdir: meson.current_source_dir())
65endforeach
66