blob: e8642982cf77c9fa1a2c0fb9b894cc7bed229c65 [file] [log] [blame]
George Liuc7d70b62021-05-17 16:02:18 +08001gtest_dep = dependency('gtest', main: true, disabler: true, required: false)
2gmock_dep = dependency('gmock', disabler: true, required: false)
3if not gtest_dep.found() or not gmock_dep.found()
4 gtest_proj = import('cmake').subproject('googletest', required: false)
5 if gtest_proj.found()
6 gtest_dep = declare_dependency(
7 dependencies: [
8 dependency('threads'),
9 gtest_proj.dependency('gtest'),
10 gtest_proj.dependency('gtest_main'),
11 ]
12 )
13 gmock_dep = gtest_proj.dependency('gmock')
14 else
15 assert(
Patrick Williams85c1c2a2023-11-29 06:44:37 -060016 not get_option('tests').allowed(),
George Liuc7d70b62021-05-17 16:02:18 +080017 'Googletest is required if tests are enabled'
18 )
19 endif
20endif
21
22test_sources = [
23 '../physical.cpp',
24 '../sysfs.cpp',
Alexander Hansen673b9812024-08-01 15:21:34 +020025 '../interfaces/internal_interface.cpp',
George Liuc7d70b62021-05-17 16:02:18 +080026]
27
28tests = [
29 'physical.cpp',
30 'sysfs.cpp',
Alexander Hansen24d124f2024-07-16 13:49:55 +020031 'test_led_description.cpp',
Alexander Hansen673b9812024-08-01 15:21:34 +020032 'test_dbus_name.cpp',
George Liuc7d70b62021-05-17 16:02:18 +080033]
34
35foreach t : tests
36 test(t,
37 executable(
38 t.underscorify(),
39 t,
40 test_sources,
41 include_directories: ['..'],
42 dependencies: [
43 gtest_dep,
44 gmock_dep,
45 deps
46 ]
47 )
48 )
Alexander Hansen24d124f2024-07-16 13:49:55 +020049endforeach