phosphor_regulators_tests_include_directories = include_directories(
    '.',
    'actions'
)

phosphor_regulators_tests_source_files = [
    'device_tests.cpp',
    'id_map_tests.cpp',
    'pmbus_error_tests.cpp',
    'pmbus_utils_tests.cpp',
    'rail_tests.cpp',
    'rule_tests.cpp',
    'write_verification_error_tests.cpp',

    'actions/action_environment_tests.cpp',
    'actions/action_error_tests.cpp',
    'actions/action_utils_tests.cpp',
    'actions/and_action_tests.cpp',
    'actions/i2c_action_tests.cpp',
    'actions/i2c_compare_bit_action_tests.cpp',
    'actions/i2c_compare_byte_action_tests.cpp',
    'actions/i2c_compare_bytes_action_tests.cpp',
    'actions/i2c_write_bit_action_tests.cpp',
    'actions/i2c_write_byte_action_tests.cpp',
    'actions/i2c_write_bytes_action_tests.cpp',
    'actions/if_action_tests.cpp',
    'actions/not_action_tests.cpp',
    'actions/or_action_tests.cpp',
    'actions/run_rule_action_tests.cpp',
    'actions/set_device_action_tests.cpp'
]

test('phosphor-regulators-tests',
     executable('phosphor-regulators-tests',
                phosphor_regulators_tests_source_files,
                dependencies: [
                    gmock,
                    gtest,
                ],
                link_args: dynamic_linker,
                build_rpath: get_option('oe-sdk').enabled() ? rpath : '',
                link_with: [
                    phosphor_regulators_library,
                    libi2c_dev_mock
                ],
                implicit_include_directories: false,
                include_directories: [
                    phosphor_regulators_include_directories,
                    phosphor_regulators_tests_include_directories,
                    libi2c_inc,
                    libi2c_dev_mock_inc
                ]
     )
)
