test: Use foreach iterators to simplify definitions
Create two arrays, to contain public and internal test targets, and use the foreach iterators to automatically generate test output targets for each entry in each array. The public tests array is linked only against public libcamera headers, while tests declared in the internal_tests will have access to non-public API headers from within the libcamera sources. Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
a9fe3adc4f
commit
5802259b3c
1 changed files with 22 additions and 5 deletions
|
@ -12,10 +12,27 @@ test_includes_internal = [
|
|||
libcamera_internal_includes,
|
||||
]
|
||||
|
||||
list = executable('list', 'list.cpp',
|
||||
link_with : test_libraries,
|
||||
include_directories : test_includes_public)
|
||||
|
||||
subdir('media_device')
|
||||
|
||||
test('List Camera API tests', list)
|
||||
public_tests = [
|
||||
['list', 'list.cpp'],
|
||||
]
|
||||
|
||||
internal_tests = [
|
||||
]
|
||||
|
||||
foreach t : public_tests
|
||||
exe = executable(t[0], t[1],
|
||||
link_with : test_libraries,
|
||||
include_directories : test_includes_public)
|
||||
|
||||
test(t[0], exe)
|
||||
endforeach
|
||||
|
||||
foreach t : internal_tests
|
||||
exe = executable(t[0], t[1],
|
||||
link_with : test_libraries,
|
||||
include_directories : test_includes_internal)
|
||||
|
||||
test(t[0], exe)
|
||||
endforeach
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue