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',
    'phase_fault_detection_tests.cpp',
    'phase_fault_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_capture_bytes_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/log_phase_fault_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,
                    nlohmann_json_dep,
                    phosphor_dbus_interfaces,
                    phosphor_logging,
                    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
)
