blob: 69b883cdabfca8b24e5f581936cc5c5a0724463e [file] [log] [blame]
gtest = dependency('gtest', main: true, disabler: true, required: false)
gmock = dependency('gmock', disabler: true, required: false)
if not gtest.found() or not gmock.found()
gtest_proj = import('cmake').subproject('googletest', required: false)
if gtest_proj.found()
gtest = declare_dependency(
dependencies: [
dependency('threads'),
gtest_proj.dependency('gtest'),
gtest_proj.dependency('gtest_main'),
],
)
gmock = gtest_proj.dependency('gmock')
else
assert(not get_option('tests').enabled(), 'Googletest is required')
endif
endif
swampd_sources = include_directories('../')
unit_tests = [
'dbus_active_unittest',
'dbus_passive_unittest',
'dbus_util_unittest',
'json_parse_unittest',
'pid_json_unittest',
'pid_fancontroller_unittest',
'pid_stepwisecontroller_unittest',
'pid_thermalcontroller_unittest',
'pid_zone_unittest',
'sensor_host_unittest',
'sensor_manager_unittest',
'sensor_pluggable_unittest',
'sensors_json_unittest',
'util_unittest',
]
unittest_source = {
'dbus_active_unittest': ['../dbus/dbusactiveread.cpp'],
'dbus_passive_unittest': [
'../dbus/dbuspassive.cpp',
'../dbus/dbuspassiveredundancy.cpp',
'../dbus/dbusutil.cpp',
'../failsafeloggers/failsafe_logger_utility.cpp',
],
'dbus_util_unittest': ['../dbus/dbusutil.cpp'],
'json_parse_unittest': ['../buildjson/buildjson.cpp'],
'pid_json_unittest': ['../pid/buildjson.cpp', '../util.cpp'],
'pid_fancontroller_unittest': [
'../pid/ec/pid.cpp',
'../pid/ec/logging.cpp',
'../pid/fancontroller.cpp',
'../pid/pidcontroller.cpp',
'../pid/tuning.cpp',
'../pid/util.cpp',
],
'pid_stepwisecontroller_unittest': [
'../pid/ec/stepwise.cpp',
'../pid/stepwisecontroller.cpp',
'../pid/tuning.cpp',
'../pid/util.cpp',
],
'pid_thermalcontroller_unittest': [
'../pid/ec/pid.cpp',
'../pid/ec/logging.cpp',
'../pid/pidcontroller.cpp',
'../pid/thermalcontroller.cpp',
'../pid/tuning.cpp',
'../pid/util.cpp',
],
'pid_zone_unittest': [
'../failsafeloggers/builder.cpp',
'../failsafeloggers/failsafe_logger.cpp',
'../failsafeloggers/failsafe_logger_utility.cpp',
'../pid/ec/pid.cpp',
'../pid/ec/logging.cpp',
'../pid/pidcontroller.cpp',
'../pid/tuning.cpp',
'../pid/zone.cpp',
'../sensors/manager.cpp',
],
'sensor_host_unittest': [
'../failsafeloggers/failsafe_logger.cpp',
'../failsafeloggers/failsafe_logger_utility.cpp',
'../sensors/host.cpp',
],
'sensor_manager_unittest': ['../sensors/manager.cpp'],
'sensor_pluggable_unittest': ['../sensors/pluggable.cpp'],
'sensors_json_unittest': ['../sensors/buildjson.cpp'],
'util_unittest': ['../sensors/build_utils.cpp'],
}
foreach t : unit_tests
test(
t,
executable(
t.underscorify(),
t + '.cpp',
unittest_source.get(t),
include_directories: [swampd_sources],
link_args: dynamic_linker,
build_rpath: get_option('oe-sdk').allowed() ? rpath : '',
dependencies: [gtest, gmock, deps],
),
)
endforeach