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>
55 lines
1.5 KiB
Meson
55 lines
1.5 KiB
Meson
# SPDX-License-Identifier: CC0-1.0
|
|
|
|
option('android',
|
|
type : 'feature',
|
|
value : 'disabled',
|
|
description : 'Compile libcamera with Android Camera3 HAL interface')
|
|
|
|
option('android_platform',
|
|
type : 'combo',
|
|
choices : ['cros', 'generic'],
|
|
value : 'generic',
|
|
description : 'Select the Android platform to compile for')
|
|
|
|
option('cam',
|
|
type : 'feature',
|
|
value : 'auto',
|
|
description : 'Compile the cam test application')
|
|
|
|
option('documentation',
|
|
type : 'feature',
|
|
description : 'Generate the project documentation')
|
|
|
|
option('gstreamer',
|
|
type : 'feature',
|
|
value : 'auto',
|
|
description : 'Compile libcamera GStreamer plugin')
|
|
|
|
option('lc-compliance',
|
|
type : 'feature',
|
|
value : 'auto',
|
|
description : 'Compile the lc-compliance test application')
|
|
|
|
option('pipelines',
|
|
type : 'array',
|
|
choices : ['ipu3', 'raspberrypi', 'rkisp1', 'simple', 'uvcvideo', 'vimc'],
|
|
description : 'Select which pipeline handlers to include')
|
|
|
|
option('qcam',
|
|
type : 'feature',
|
|
value : 'auto',
|
|
description : 'Compile the qcam test application')
|
|
|
|
option('test',
|
|
type : 'boolean',
|
|
description: 'Compile and include the tests')
|
|
|
|
option('tracing',
|
|
type : 'feature',
|
|
value : 'auto',
|
|
description: 'Enable tracing (based on lttng)')
|
|
|
|
option('v4l2',
|
|
type : 'boolean',
|
|
value : false,
|
|
description : 'Compile the V4L2 compatibility layer')
|