diff options
author | Niklas Söderlund <niklas.soderlund@ragnatech.se> | 2021-01-27 01:23:51 +0100 |
---|---|---|
committer | Niklas Söderlund <niklas.soderlund@ragnatech.se> | 2021-04-12 10:48:56 +0200 |
commit | 02bc1108578e8b8eb68fa7d9ae3eeea558723931 (patch) | |
tree | 42e99d5d3cfa45b25651e0175b44400823efdfe2 /src/lc-compliance/meson.build | |
parent | 43ab65df8dd2fd6ef3336fdb1f56909661de2475 (diff) |
lc-compliance: Add a libcamera compliance tool
Add a compliance tool to ease testing of cameras. In contrast to the
unit-tests under test/ that aims to test the internal components of
libcamera the compliance tool aims to test application use-cases and to
some extent the public API.
This change adds the boilerplate code of a simple framework for the
creation of tests. The tests aim both to demonstrate the tool and to
catch real problems. The tests added are:
- Test that if one queues exactly N requests to a camera exactly N
requests are eventually completed.
- Test that a configured camera can be started and stopped multiple
times in an attempt to exercise cleanup code paths otherwise not
often tested with 'cam' for example.
Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Tested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
Diffstat (limited to 'src/lc-compliance/meson.build')
-rw-r--r-- | src/lc-compliance/meson.build | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/lc-compliance/meson.build b/src/lc-compliance/meson.build new file mode 100644 index 00000000..a2bfcceb --- /dev/null +++ b/src/lc-compliance/meson.build @@ -0,0 +1,27 @@ +# SPDX-License-Identifier: CC0-1.0 + +libevent = dependency('libevent_pthreads', required : get_option('lc-compliance')) + +if not libevent.found() + lc_compliance_enabled = false + subdir_done() +endif + +lc_compliance_enabled = true + +lc_compliance_sources = files([ + '../cam/event_loop.cpp', + '../cam/options.cpp', + 'main.cpp', + 'results.cpp', + 'simple_capture.cpp', + 'single_stream.cpp', +]) + +lc_compliance = executable('lc-compliance', lc_compliance_sources, + dependencies : [ + libatomic, + libcamera_dep, + libevent, + ], + install : true) |