blob: 2f04365c4ba6147aa84e0de233213adaaec8c1c2 [file] [log] [blame]
Zane Shelley80183912021-12-21 11:52:25 -06001# Get the gtest/gmock dependencies.
2gtest_dep = dependency('gtest', main: true, disabler: true, required: false)
3gmock_dep = dependency('gmock', disabler: true, required: false)
4if not gtest_dep.found() or not gmock_dep.found()
5 cmake = import('cmake')
6 gtest_proj = cmake.subproject('googletest',
7 required: false)
8 if gtest_proj.found()
9 gtest_dep = declare_dependency(
10 dependencies: [
11 dependency('threads'),
12 gtest_proj.dependency('gtest'),
13 gtest_proj.dependency('gtest_main'),
14 ]
15 )
16 gmock_dep = gtest_proj.dependency('gmock')
17 else
18 assert(not get_option('tests').enabled(),
19 'Googletest is required if tests are enabled')
20 endif
21endif
22
Zane Shelley9491cdb2022-02-01 10:40:45 -060023################################################################################
24
Zane Shelley08c21c22022-01-26 16:58:18 -060025# NOTE: We cannot link to `util_lib` because that is built without
26# `-DTEST_TRACE` and any of the util functions that use `trace.hpp` will
27# throw a linker error because we don't have access to phosphor-logging
28# in test ... yet.
29
Zane Shelley0c44c2f2020-06-05 17:14:31 -050030test_arg = [
31 '-DTEST_TRACE',
Zane Shelley9491cdb2022-02-01 10:40:45 -060032 package_args,
Zane Shelley0c44c2f2020-06-05 17:14:31 -050033]
34
Zane Shelleyafc6acd2022-01-12 14:32:56 -060035# Compile the test dts into a binary for pdbg.
36pdbg_test_dtb = custom_target('build_pdbg_test_dtb',
Zane Shelley08c21c22022-01-26 16:58:18 -060037 input : files('pdbg-test.dts'),
38 output : 'pdbg-test.dtb',
Zane Shelleyafc6acd2022-01-12 14:32:56 -060039 command : [ find_program('dtc'), '-I', 'dts', '-O', 'dtb',
40 '-o', '@OUTPUT@', '@INPUT@' ])
41
Zane Shelleyd195b712022-01-26 13:26:34 -060042pdbg_env = 'PDBG_DTB=' + pdbg_test_dtb.full_path()
43
Ben Tyner9ae5ca42020-02-28 13:13:50 -060044# end2end code exerciser for experiment and testing
45subdir('end2end')
46
Zane Shelley08c21c22022-01-26 16:58:18 -060047################################################################################
48
49tc = 'test-bin-stream'
50
51src = [
52 files(
53 tc + '.cpp',
54 ),
Zane Shelley248cbf82019-05-03 17:07:18 -050055]
56
Zane Shelley08c21c22022-01-26 16:58:18 -060057dep = [ gtest_dep ]
Zane Shelleycb766a42022-01-12 17:50:23 -060058
Zane Shelley08c21c22022-01-26 16:58:18 -060059var = [ ]
60
61exe = executable(tc.underscorify(), src, dependencies: dep,
62 cpp_args: test_arg, include_directories: incdir)
63
64test(tc, exe, env: var)
65
66################################################################################
67
68tc = 'test-ffdc-file'
69
70src = [
71 files(
72 tc + '.cpp',
Zane Shelleycb766a42022-01-12 17:50:23 -060073 '../util/ffdc_file.cpp',
Zane Shelleycb766a42022-01-12 17:50:23 -060074 '../util/temporary_file.cpp',
Zane Shelley08c21c22022-01-26 16:58:18 -060075 ),
76]
Zane Shelley979e2872021-09-20 22:46:06 -050077
Zane Shelley08c21c22022-01-26 16:58:18 -060078dep = [ gtest_dep ]
Zane Shelleye90b85d2021-12-17 17:24:49 -060079
Zane Shelley08c21c22022-01-26 16:58:18 -060080var = [ ]
81
82exe = executable(tc.underscorify(), src, dependencies: dep,
83 cpp_args: test_arg, include_directories: incdir)
84
85test(tc, exe, env: var)
86
87################################################################################
88
89tc = 'test-lpc-timeout'
90
91src = [
92 files(
93 tc + '.cpp',
94 '../analyzer/plugins/p10-plugins.cpp',
95 '../analyzer/service_data.cpp',
96 '../util/pdbg.cpp',
Caleb Palmer626270a2022-02-21 11:05:08 -060097 'dbus-sim-only.cpp',
Zane Shelley08c21c22022-01-26 16:58:18 -060098 'pdbg-sim-only.cpp',
99 ),
100 pdbg_test_dtb,
101]
102
103dep = [ libhei_dep, libpdbg_dep, gtest_dep ]
104
105var = [ pdbg_env ]
106
107exe = executable(tc.underscorify(), src, dependencies: dep,
108 cpp_args: test_arg, include_directories: incdir)
109
110test(tc, exe, env: var)
111
112################################################################################
113
114tc = 'test-pdbg-dts'
115
116src = [
117 files(
118 tc + '.cpp',
119 '../util/pdbg.cpp',
Caleb Palmer626270a2022-02-21 11:05:08 -0600120 'dbus-sim-only.cpp',
Zane Shelleyc7026262022-02-22 16:37:36 -0600121 'pdbg-sim-only.cpp',
Zane Shelley08c21c22022-01-26 16:58:18 -0600122 ),
123 pdbg_test_dtb,
124]
125
126dep = [ libhei_dep, libpdbg_dep, gtest_dep ]
127
128var = [ pdbg_env ]
129
130exe = executable(tc.underscorify(), src, dependencies: dep,
131 cpp_args: test_arg, include_directories: incdir)
132
133test(tc, exe, env: var)
134
135################################################################################
136
137tc = 'test-pll-unlock'
138
139src = [
140 files(
141 tc + '.cpp',
142 '../analyzer/plugins/p10-plugins.cpp',
Zane Shelley9491cdb2022-02-01 10:40:45 -0600143 '../analyzer/ras-data/ras-data-parser.cpp',
144 '../analyzer/resolution.cpp',
Zane Shelley08c21c22022-01-26 16:58:18 -0600145 '../analyzer/service_data.cpp',
Zane Shelley9491cdb2022-02-01 10:40:45 -0600146 '../util/data_file.cpp',
Zane Shelley08c21c22022-01-26 16:58:18 -0600147 '../util/pdbg.cpp',
Caleb Palmer626270a2022-02-21 11:05:08 -0600148 'dbus-sim-only.cpp',
Zane Shelley08c21c22022-01-26 16:58:18 -0600149 'pdbg-sim-only.cpp',
150 ),
151 pdbg_test_dtb,
152]
153
154dep = [ libhei_dep, libpdbg_dep, gtest_dep ]
155
156var = [ pdbg_env ]
157
158exe = executable(tc.underscorify(), src, dependencies: dep,
159 cpp_args: test_arg, include_directories: incdir)
160
161test(tc, exe, env: var)
162
163################################################################################
164
165tc = 'test-resolution'
166
167src = [
168 files(
169 tc + '.cpp',
170 '../analyzer/resolution.cpp',
171 '../analyzer/service_data.cpp',
172 '../util/pdbg.cpp',
Caleb Palmer626270a2022-02-21 11:05:08 -0600173 'dbus-sim-only.cpp',
Zane Shelleyc7026262022-02-22 16:37:36 -0600174 'pdbg-sim-only.cpp',
Zane Shelley08c21c22022-01-26 16:58:18 -0600175 ),
176 pdbg_test_dtb,
177]
178
179dep = [ libhei_dep, libpdbg_dep, gtest_dep ]
180
181var = [ pdbg_env ]
182
183exe = executable(tc.underscorify(), src, dependencies: dep,
184 cpp_args: test_arg, include_directories: incdir)
185
186test(tc, exe, env: var)
Zane Shelleyd195b712022-01-26 13:26:34 -0600187
188################################################################################
189
190tc = 'test-tod-step-check-fault'
191
192src = [
193 files(
194 tc + '.cpp',
195 '../analyzer/plugins/p10-tod-plugins.cpp',
196 '../analyzer/service_data.cpp',
197 '../util/pdbg.cpp',
Caleb Palmer626270a2022-02-21 11:05:08 -0600198 'dbus-sim-only.cpp',
Zane Shelleyc7026262022-02-22 16:37:36 -0600199 'pdbg-sim-only.cpp',
Zane Shelleyd195b712022-01-26 13:26:34 -0600200 ),
201 pdbg_test_dtb,
202]
203
204dep = [ libhei_dep, libpdbg_dep, gtest_dep ]
205
206var = [ pdbg_env ]
207
208exe = executable(tc.underscorify(), src, dependencies: dep,
209 cpp_args: test_arg, include_directories: incdir)
210
211test(tc, exe, env: var)
212
austinfcui444fa1c2022-02-08 10:20:37 -0600213################################################################################
214
215tc = 'test-ti-handler'
216
217src = [
218 files(
219 tc + '.cpp',
220 ),
221]
222
223dep = [ gtest_dep ]
224
225var = [ ]
226
227exe = executable(tc.underscorify(), src, dependencies: dep,
228 link_with : hwdiags_libs,
229 cpp_args: test_arg, include_directories: incdir)
230
231test(tc, exe, env: var)