@@ -63,78 +63,208 @@ efr32_sdk("sdk") {
63
63
]
64
64
}
65
65
66
- silabs_executable (" efr32_device_tests" ) {
67
- output_name = " matter-silabs-device_tests.out"
66
+ # silabs_executable("efr32_device_tests") {
67
+ # output_name = "matter-silabs-device_tests.out"
68
68
69
- defines = [ " PW_RPC_ENABLED" ]
70
- sources = [
71
- " ${ chip_root } /examples/common/pigweed/RpcService.cpp" ,
72
- " ${ chip_root } /examples/common/pigweed/efr32/PigweedLoggerMutex.cpp" ,
73
- " ${ examples_common_plat_dir } /PigweedLogger.cpp" ,
74
- " ${ examples_common_plat_dir } /heap_4_silabs.c" ,
75
- " ${ examples_common_plat_dir } /syscalls_stubs.cpp" ,
76
- " ${ examples_plat_dir } /uart.cpp" ,
77
- " src/main.cpp" ,
78
- ]
69
+ # defines = [ "PW_RPC_ENABLED" ]
70
+ # sources = [
71
+ # "${chip_root}/examples/common/pigweed/RpcService.cpp",
72
+ # "${chip_root}/examples/common/pigweed/efr32/PigweedLoggerMutex.cpp",
73
+ # "${examples_common_plat_dir}/PigweedLogger.cpp",
74
+ # "${examples_common_plat_dir}/heap_4_silabs.c",
75
+ # "${examples_common_plat_dir}/syscalls_stubs.cpp",
76
+ # "${examples_plat_dir}/uart.cpp",
77
+ # "src/main.cpp",
78
+ # ]
79
79
80
- deps = [
81
- " :nl_test_service.nanopb_rpc" ,
82
- " :sdk" ,
83
- " $dir_pw_unit_test :rpc_service" ,
84
- " ${ chip_root } /config/efr32/lib/pw_rpc:pw_rpc" ,
85
- " ${ chip_root } /examples/common/pigweed:system_rpc_server" ,
86
- " ${ chip_root } /src:tests" ,
87
- " ${ chip_root } /src/lib" ,
88
- " ${ chip_root } /src/lib/support:pw_tests_wrapper" ,
89
- " ${ chip_root } /src/lib/support:testing_nlunit" ,
90
- " ${ examples_common_plat_dir } /pw_sys_io:pw_sys_io_silabs" ,
91
- " ${ nlunit_test_root } :nlunit-test" ,
92
- ]
80
+ # deps = [
81
+ # ":nl_test_service.nanopb_rpc",
82
+ # ":sdk",
83
+ # "$dir_pw_unit_test:rpc_service",
84
+ # "${chip_root}/config/efr32/lib/pw_rpc:pw_rpc",
85
+ # "${chip_root}/examples/common/pigweed:system_rpc_server",
86
+ # "${chip_root}/src:tests",
87
+ # "${chip_root}/src/lib",
88
+ # "${chip_root}/src/lib/support:pw_tests_wrapper",
89
+ # "${chip_root}/src/lib/support:testing_nlunit",
90
+ # "${examples_common_plat_dir}/pw_sys_io:pw_sys_io_silabs",
91
+ # "${nlunit_test_root}:nlunit-test",
92
+ # ]
93
+
94
+ # # OpenThread Settings
95
+ # if (chip_enable_openthread) {
96
+ # deps += [
97
+ # "${chip_root}/third_party/openthread:openthread",
98
+ # "${chip_root}/third_party/openthread:openthread-platform",
99
+ # "${examples_plat_dir}:efr-matter-shell",
100
+ # ]
101
+ # }
102
+
103
+ # # Attestation Credentials
104
+ # deps += [ "${examples_plat_dir}:efr32-attestation-credentials" ]
105
+
106
+ # # Factory Data Provider
107
+ # if (use_efr32_factory_data_provider) {
108
+ # deps += [ "${examples_plat_dir}:silabs-factory-data-provider" ]
109
+ # }
110
+
111
+ # deps += pw_build_LINK_DEPS
112
+
113
+ # include_dirs = [ "${chip_root}/examples/common/pigweed/efr32" ]
114
+
115
+ # ldscript = "${examples_common_plat_dir}/ldscripts/${silabs_family}.ld"
116
+
117
+ # inputs = [ ldscript ]
118
+
119
+ # ldflags = [
120
+ # "-T" + rebase_path(ldscript, root_build_dir),
121
+ # "-Wl,--no-warn-rwx-segment",
122
+ # ]
123
+
124
+ # output_dir = root_out_dir
125
+ # }
126
+
127
+ # group("efr32") {
128
+ # deps = [ ":efr32_device_tests" ]
129
+ # }
130
+
131
+
132
+ _tests = [
133
+ " ${ chip_root } /src/app/interaction-model/tests" ,
134
+ " ${ chip_root } /src/access/tests" ,
135
+ " ${ chip_root } /src/crypto/tests" ,
136
+ " ${ chip_root } /src/inet/tests" ,
137
+ " ${ chip_root } /src/lib/address_resolve/tests" ,
138
+ " ${ chip_root } /src/lib/asn1/tests" ,
139
+ " ${ chip_root } /src/lib/core/tests" ,
140
+ " ${ chip_root } /src/messaging/tests" ,
141
+ " ${ chip_root } /src/protocols/bdx/tests" ,
142
+ " ${ chip_root } /src/protocols/interaction_model/tests" ,
143
+ " ${ chip_root } /src/protocols/user_directed_commissioning/tests" ,
144
+ " ${ chip_root } /src/transport/retransmit/tests" ,
145
+ " ${ chip_root } /src/app/icd/server/tests" ,
146
+ " ${ chip_root } /src/lib/dnssd/minimal_mdns/core/tests" ,
147
+ " ${ chip_root } /src/lib/dnssd/minimal_mdns/responders/tests" ,
148
+ " ${ chip_root } /src/lib/dnssd/minimal_mdns/tests" ,
149
+ " ${ chip_root } /src/lib/dnssd/tests" ,
150
+ " ${ chip_root } /src/lib/dnssd/minimal_mdns/records/tests" ,
151
+ " ${ chip_root } /src/setup_payload/tests" ,
152
+ " ${ chip_root } /src/transport/raw/tests" ,
153
+ " ${ chip_root } /src/app/tests" ,
154
+ # "${chip_root}/src/credentials/tests", # openr.c:(.text._open_r+0x10): warning: _open is not implemented and will always fail
155
+ " ${ chip_root } /src/lib/format/tests" ,
156
+ # "${chip_root}/src/lib/support/tests", # openr.c:(.text._open_r+0x10): warning: _open is not implemented and will always fail
157
+ " ${ chip_root } /src/protocols/secure_channel/tests" ,
158
+ " ${ chip_root } /src/system/tests" ,
159
+ " ${ chip_root } /src/transport/tests" ,
160
+ " ${ chip_root } /src/platform/tests" ,
161
+ " ${ chip_root } /src/lib/shell/tests" ,
162
+ ]
163
+
164
+ if (defined (matter_enable_tracing_support ) && matter_enable_tracing_support &&
165
+ defined (matter_trace_config ) && matter_trace_config == " ${ chip_root } /src/tracing/multiplexed" ) {
166
+ _tests += [ " ${ chip_root } /src/tracing/tests" ]
167
+ }
93
168
94
- # OpenThread Settings
95
- if (chip_enable_openthread ) {
96
- deps += [
97
- " ${ chip_root } /third_party/openthread:openthread" ,
98
- " ${ chip_root } /third_party/openthread:openthread-platform" ,
99
- " ${ examples_plat_dir } :efr-matter-shell" ,
169
+ if (defined (matter_enable_tracing_support ) && chip_config_network_layer_ble ) {
170
+ _tests += [ " ${ chip_root } /src/ble/tests" ]
171
+ }
172
+
173
+ if (chip_device_platform != " efr32" ) {
174
+ # Doesn't compile on ef32. Multiple definitions issues with attribute storage and overflows flash memory.
175
+ _tests += [ " ${ chip_root } /src/controller/tests/data_model" ]
176
+
177
+ _tests += [ " ${ chip_root } /src/controller/tests" ]
178
+ }
179
+
180
+ copy_py_files = true # Copy silabs_firmware_utils.py and firmware_utils.py to the output directory only the first time silabs_executable is called.
181
+ _deps = []
182
+ foreach (_test , _tests ) {
183
+ _test_suffix = string_replace (_test , " /tests" , " " )
184
+ _test_suffix = string_replace (_test_suffix , " ${ chip_root } /src/" , " " )
185
+ _test_suffix = string_replace (_test_suffix , " /" , " -" )
186
+
187
+ silabs_executable (" efr32_device_tests--${ _test_suffix } " ) {
188
+ output_name = " matter-silabs-device_tests--${ _test_suffix } .out"
189
+
190
+ defines = [ " PW_RPC_ENABLED" ]
191
+ sources = [
192
+ " ${ chip_root } /examples/common/pigweed/RpcService.cpp" ,
193
+ " ${ chip_root } /examples/common/pigweed/efr32/PigweedLoggerMutex.cpp" ,
194
+ " ${ examples_common_plat_dir } /PigweedLogger.cpp" ,
195
+ " ${ examples_common_plat_dir } /heap_4_silabs.c" ,
196
+ " ${ examples_common_plat_dir } /syscalls_stubs.cpp" ,
197
+ " ${ examples_plat_dir } /uart.cpp" ,
198
+ " src/main.cpp" ,
199
+ ]
200
+
201
+ deps = [
202
+ " :nl_test_service.nanopb_rpc" ,
203
+ " :sdk" ,
204
+ " $dir_pw_unit_test :rpc_service" ,
205
+ " ${ chip_root } /config/efr32/lib/pw_rpc:pw_rpc" ,
206
+ " ${ chip_root } /examples/common/pigweed:system_rpc_server" ,
207
+ " ${ _test } :tests" ,
208
+ " ${ chip_root } /src/lib" ,
209
+ " ${ chip_root } /src/lib/support:pw_tests_wrapper" ,
210
+ " ${ chip_root } /src/lib/support:testing_nlunit" ,
211
+ " ${ examples_common_plat_dir } /pw_sys_io:pw_sys_io_silabs" ,
212
+ " ${ nlunit_test_root } :nlunit-test" ,
100
213
]
101
- }
102
214
103
- # Attestation Credentials
104
- deps += [ " ${ examples_plat_dir } :efr32-attestation-credentials" ]
215
+ # OpenThread Settings
216
+ if (chip_enable_openthread ) {
217
+ deps += [
218
+ " ${ chip_root } /third_party/openthread:openthread" ,
219
+ " ${ chip_root } /third_party/openthread:openthread-platform" ,
220
+ " ${ examples_plat_dir } :efr-matter-shell" ,
221
+ ]
222
+ }
105
223
106
- # Factory Data Provider
107
- if (use_efr32_factory_data_provider ) {
108
- deps += [ " ${ examples_plat_dir } :silabs-factory-data-provider" ]
109
- }
224
+ # Attestation Credentials
225
+ deps += [ " ${ examples_plat_dir } :efr32-attestation-credentials" ]
110
226
111
- deps += pw_build_LINK_DEPS
227
+ # Factory Data Provider
228
+ if (use_efr32_factory_data_provider ) {
229
+ deps += [ " ${ examples_plat_dir } :silabs-factory-data-provider" ]
230
+ }
112
231
113
- include_dirs = [ " ${ chip_root } /examples/common/pigweed/efr32 " ]
232
+ deps += pw_build_LINK_DEPS
114
233
115
- ldscript = " ${ examples_common_plat_dir } /ldscripts/ ${ silabs_family } .ld "
234
+ include_dirs = [ " ${ chip_root } /examples/common/pigweed/efr32 " ]
116
235
117
- inputs = [ ldscript ]
236
+ ldscript = " ${ examples_common_plat_dir } /ldscripts/ ${ silabs_family } .ld "
118
237
119
- ldflags = [
120
- " -T" + rebase_path (ldscript , root_build_dir ),
121
- " -Wl,--no-warn-rwx-segment" ,
122
- ]
238
+ inputs = [ ldscript ]
239
+
240
+ ldflags = [
241
+ " -T" + rebase_path (ldscript , root_build_dir ),
242
+ " -Wl,--no-warn-rwx-segment" ,
243
+ ]
244
+
245
+ output_dir = root_out_dir
246
+ }
247
+
248
+ copy_py_files = false # Don't copy them next time.
249
+
250
+ _deps += [ " :efr32_device_tests--${ _test_suffix } " ]
251
+ }
123
252
124
- output_dir = root_out_dir
253
+ group (" efr32_device_tests" ) {
254
+ deps = _deps
125
255
}
126
256
127
257
group (" efr32" ) {
128
- deps = [ " :efr32_device_tests" ]
258
+ deps = [ " :efr32_device_tests" ] # ++++ Should we get rid of "efr32_device_tests" and move its contents here?
129
259
}
130
260
131
261
group (" runner" ) {
132
262
deps = [
133
263
" ${ efr32_project_dir } /py:pw_test_runner.install" ,
134
264
" ${ efr32_project_dir } /py:pw_test_runner_wheel" ,
135
265
# TODO [PW_MIGRATION]: remove the following when transition from nlunit-test is complete.
136
- " ${ efr32_project_dir } /py:nl_test_runner.install" ,
137
- " ${ efr32_project_dir } /py:nl_test_runner_wheel" ,
266
+ # ++++ "${efr32_project_dir}/py:nl_test_runner.install",
267
+ # ++++ "${efr32_project_dir}/py:nl_test_runner_wheel",
138
268
]
139
269
}
140
270
0 commit comments