xref: /openbmc/phosphor-psu-code-mgmt/test/meson.build (revision 8a08ac1019f7122253630d3a9a4af0d3ddf39b7f)
15e0dcb39SLei YUoe_sdk = get_option('oe-sdk')
2ce6c5c54SPatrick Williamsif oe_sdk.allowed()
35e0dcb39SLei YU    # Setup OE SYSROOT
4*8a08ac10SPatrick Williams    OECORE_TARGET_SYSROOT = run_command(
5*8a08ac10SPatrick Williams        'sh',
6*8a08ac10SPatrick Williams        '-c',
7*8a08ac10SPatrick Williams        'echo $OECORE_TARGET_SYSROOT',
8*8a08ac10SPatrick Williams    ).stdout().strip()
95e0dcb39SLei YU    if OECORE_TARGET_SYSROOT == ''
105e0dcb39SLei YU        error('Unable to get $OECORE_TARGET_SYSROOT, check your environment.')
115e0dcb39SLei YU    endif
125e0dcb39SLei YU    message('OE_SYSROOT: ' + OECORE_TARGET_SYSROOT)
13*8a08ac10SPatrick Williams    rpath = ':'.join(
14*8a08ac10SPatrick Williams        [OECORE_TARGET_SYSROOT + '/lib', OECORE_TARGET_SYSROOT + '/usr/lib'],
15*8a08ac10SPatrick Williams    )
16*8a08ac10SPatrick Williams    ld_so = run_command(
17*8a08ac10SPatrick Williams        'sh',
18*8a08ac10SPatrick Williams        '-c',
19*8a08ac10SPatrick Williams        'find ' + OECORE_TARGET_SYSROOT + '/lib/ld-*.so | sort -r -n | head -n1',
20*8a08ac10SPatrick Williams    ).stdout().strip()
215e0dcb39SLei YU    dynamic_linker = ['-Wl,-dynamic-linker,' + ld_so]
225e0dcb39SLei YUelse
235e0dcb39SLei YU    dynamic_linker = []
245e0dcb39SLei YUendif
255e0dcb39SLei YU
265e0dcb39SLei YUgtest = dependency('gtest', main: true, disabler: true, required: build_tests)
275e0dcb39SLei YUgmock = dependency('gmock', disabler: true, required: build_tests)
285e0dcb39SLei YU
29*8a08ac10SPatrick Williamsconfigure_file(output: 'config.h', configuration: cdata)
305e0dcb39SLei YUtest_inc = include_directories('.')
315e0dcb39SLei YU
32f77189f7SLei YUtest_util = executable(
33f77189f7SLei YU    'test_util',
345e0dcb39SLei YU    '../src/utils.cpp',
355e0dcb39SLei YU    'test_utils.cpp',
365e0dcb39SLei YU    include_directories: [psu_inc, test_inc],
375e0dcb39SLei YU    link_args: dynamic_linker,
38ce6c5c54SPatrick Williams    build_rpath: oe_sdk.allowed() ? rpath : '',
395e0dcb39SLei YU    dependencies: [
405e0dcb39SLei YU        gtest,
415e0dcb39SLei YU        gmock,
425e0dcb39SLei YU        phosphor_logging,
435e0dcb39SLei YU        phosphor_dbus_interfaces,
445e0dcb39SLei YU        sdbusplus,
45ad90ad51SLei YU        ssl,
46*8a08ac10SPatrick Williams    ],
47*8a08ac10SPatrick Williams)
485e0dcb39SLei YU
4912c9f4c4SLei YUtest_phosphor_psu_manager = executable(
5012c9f4c4SLei YU    'test_phosphor_psu_manager',
51f77189f7SLei YU    '../src/activation.cpp',
52f77189f7SLei YU    '../src/item_updater.cpp',
53f77189f7SLei YU    '../src/version.cpp',
54f77189f7SLei YU    'test_item_updater.cpp',
5512c9f4c4SLei YU    'test_activation.cpp',
56fda15a33SLei YU    'test_version.cpp',
57f77189f7SLei YU    include_directories: [psu_inc, test_inc],
58f77189f7SLei YU    link_args: dynamic_linker,
59ce6c5c54SPatrick Williams    build_rpath: oe_sdk.allowed() ? rpath : '',
60f77189f7SLei YU    dependencies: [
61f77189f7SLei YU        gtest,
62f77189f7SLei YU        gmock,
63f77189f7SLei YU        phosphor_logging,
64f77189f7SLei YU        phosphor_dbus_interfaces,
65f77189f7SLei YU        sdbusplus,
66f77189f7SLei YU        ssl,
67*8a08ac10SPatrick Williams    ],
68*8a08ac10SPatrick Williams)
69f77189f7SLei YU
70f77189f7SLei YUtest('util', test_util)
7158c26e3fSLei YU#test('phosphor_psu_manager', test_phosphor_psu_manager)
72*8a08ac10SPatrick Williamstest(
73*8a08ac10SPatrick Williams    'phosphor_psu_manager',
74*8a08ac10SPatrick Williams    test_phosphor_psu_manager,
75*8a08ac10SPatrick Williams    workdir: meson.current_source_dir(),
76*8a08ac10SPatrick Williams)
77