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

phosphor_regulators_tests_source_files = [
    'chassis_tests.cpp',
    'config_file_parser_error_tests.cpp',
    'config_file_parser_tests.cpp',
    'configuration_tests.cpp',
    'device_tests.cpp',
    'error_history_tests.cpp',
    'error_logging_utils_tests.cpp',
    'exception_utils_tests.cpp',
    'ffdc_file_tests.cpp',
    'id_map_tests.cpp',
    'pmbus_error_tests.cpp',
    'pmbus_utils_tests.cpp',
    'presence_detection_tests.cpp',
    'rail_tests.cpp',
    'rule_tests.cpp',
    'sensor_monitoring_tests.cpp',
    'sensors_tests.cpp',
    'system_tests.cpp',
    'temporary_file_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/compare_presence_action_tests.cpp',
    'actions/compare_vpd_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/pmbus_read_sensor_action_tests.cpp',
    'actions/pmbus_write_vout_command_action_tests.cpp',
    'actions/run_rule_action_tests.cpp',
    'actions/set_device_action_tests.cpp'
]

# Long-running tests that are excluded from CI
if get_option('long-tests').enabled()
    # This test requires the Python module 'jsonschema'
    phosphor_regulators_tests_source_files += 'validate-regulators-config_tests.cpp'
endif

test('phosphor-regulators-tests',
     executable('phosphor-regulators-tests',
                phosphor_regulators_tests_source_files,
                dependencies: [
                    gmock,
                    gtest,
                    sdbusplus
                ],
                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
                ]
     ),
     timeout : 180
)
