[libcamera-devel] [PATCH 1/5] test: Move test objects to libtest
Kieran Bingham
kieran.bingham at ideasonboard.com
Fri Dec 21 16:15:26 CET 2018
Hi Jacopo,
On 21/12/2018 15:09, jacopo mondi wrote:
> Hi Kieran,
>
> On Fri, Dec 21, 2018 at 08:13:07AM +0000, Kieran Bingham wrote:
>> Create a subdirectory to contain the libtest helper library.
>>
>> Define two variables to clarify when tests are aimed at public or
>> internal components.
>>
>> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>> ---
>> test/libtest/meson.build | 7 +++++++
>> test/{ => libtest}/test.cpp | 0
>> test/{ => libtest}/test.h | 0
>> test/meson.build | 20 ++++++++++++++------
>> 4 files changed, 21 insertions(+), 6 deletions(-)
>> create mode 100644 test/libtest/meson.build
>> rename test/{ => libtest}/test.cpp (100%)
>> rename test/{ => libtest}/test.h (100%)
>>
>> diff --git a/test/libtest/meson.build b/test/libtest/meson.build
>> new file mode 100644
>> index 000000000000..b998154dd8d3
>> --- /dev/null
>> +++ b/test/libtest/meson.build
>> @@ -0,0 +1,7 @@
>> +libtest_sources = files([
>> + 'test.cpp',
>> +])
>> +
>> +libtest = static_library('libtest', libtest_sources)
>> +
>> +libtest_includes = include_directories('.')
>> diff --git a/test/test.cpp b/test/libtest/test.cpp
>> similarity index 100%
>> rename from test/test.cpp
>> rename to test/libtest/test.cpp
>> diff --git a/test/test.h b/test/libtest/test.h
>> similarity index 100%
>> rename from test/test.h
>> rename to test/libtest/test.h
>> diff --git a/test/meson.build b/test/meson.build
>> index da0aea9678d1..50ec11853203 100644
>> --- a/test/meson.build
>> +++ b/test/meson.build
>> @@ -1,11 +1,19 @@
>> -libtest_sources = files([
>> - 'test.cpp',
>> -])
>> +subdir('libtest')
>>
>> -libtest = static_library('libtest', libtest_sources)
>> +test_libraries = [libcamera, libtest]
>> +
>> +test_includes_public = [
>> + libtest_includes,
>> + libcamera_includes,
>> +]
>> +
>> +test_includes_internal = [
>
> That's not really 'internal' if it includes the public includes :)
It's both ... but it's a define which is created for use by the internal
tests.
Would you prefer to call this something else?
>
>> + test_includes_public,
>> + libcamera_internal_includes,
>> +]
>>
>> test_init = executable('test_init', 'init.cpp',
>> - link_with : libcamera,
>> - include_directories : libcamera_includes)
>> + link_with : test_libraries,
>> + include_directories : test_includes_public)
>
> What about a test/tests/ directory? Or do we expect to add all tests
> under test/ itself? Eg. test/libcamera/media_device_test.cpp ?
Up to you.
If it's a single test - it can live here with a simple addition to the
arrays created in:
"[PATCH] test: Use foreach iterators to simplify definitions"
Or - if you have a group of related tests, they should be defined as a
'suite'. For an example of this please see the patch posted :
"[PATCH 2/2] lib: Add V4L2 Device object"
In particular - please note that it adds the 'suite: v4l2device' flag in
the test/v4l2device/meson.build.
Perhaps we might want to split public-api tests from internal-api tests
... but we can worry about that once we've got a public-api to test :)
--
Regards
Kieran
>
> Thanks
> j
>>
>> test('Initialisation test', test_init)
>> --
>> 2.17.1
>>
>> _______________________________________________
>> libcamera-devel mailing list
>> libcamera-devel at lists.libcamera.org
>> https://lists.libcamera.org/listinfo/libcamera-devel
--
Regards
--
Kieran
More information about the libcamera-devel
mailing list