@@ -279,28 +279,66 @@ def _parse_test_item(self, test_item):
279
279
log .die (f"Test item { test_item } not found in { yf } " )
280
280
281
281
sysbuild = False
282
+ extra_dtc_overlay_files = []
283
+ extra_overlay_confs = []
284
+ extra_conf_files = []
282
285
for section in [common , item ]:
283
286
if not section :
284
287
continue
285
288
sysbuild = section .get ('sysbuild' , sysbuild )
286
- for data in ['extra_args' , 'extra_configs' ]:
289
+ for data in [
290
+ 'extra_args' ,
291
+ 'extra_configs' ,
292
+ 'extra_conf_files' ,
293
+ 'extra_overlay_confs' ,
294
+ 'extra_dtc_overlay_files'
295
+ ]:
287
296
extra = section .get (data )
288
297
if not extra :
289
298
continue
290
299
if isinstance (extra , str ):
291
300
arg_list = extra .split (" " )
292
301
else :
293
302
arg_list = extra
303
+
294
304
if data == 'extra_configs' :
295
305
args = ["-D{}" .format (arg .replace ('"' , '\" ' )) for arg in arg_list ]
296
306
elif data == 'extra_args' :
297
307
args = ["-D{}" .format (arg .replace ('"' , '' )) for arg in arg_list ]
308
+ elif data == 'extra_conf_files' :
309
+ extra_conf_files .extend (arg_list )
310
+ continue
311
+ elif data == 'extra_overlay_confs' :
312
+ extra_overlay_confs .extend (arg_list )
313
+ continue
314
+ elif data == 'extra_dtc_overlay_files' :
315
+ extra_dtc_overlay_files .extend (arg_list )
316
+ continue
317
+
298
318
if self .args .cmake_opts :
299
319
self .args .cmake_opts .extend (args )
300
320
else :
301
321
self .args .cmake_opts = args
302
322
303
323
self .args .sysbuild = sysbuild
324
+
325
+ args = []
326
+ if extra_conf_files :
327
+ args .append (f"CONF_FILE=\" { ';' .join (extra_conf_files )} \" " )
328
+
329
+ if extra_dtc_overlay_files :
330
+ args .append (f"DTC_OVERLAY_FILE=\" { ';' .join (extra_dtc_overlay_files )} \" " )
331
+
332
+ if extra_overlay_confs :
333
+ args .append (f"OVERLAY_CONFIG=\" { ';' .join (extra_overlay_confs )} \" " )
334
+ # Build the final argument list
335
+ args_expanded = ["-D{}" .format (a .replace ('"' , '' )) for a in args ]
336
+
337
+ if self .args .cmake_opts :
338
+ self .args .cmake_opts .extend (args_expanded )
339
+ else :
340
+ self .args .cmake_opts = args_expanded
341
+
304
342
return found_test_metadata
305
343
306
344
def _sanity_precheck (self ):
0 commit comments