From 4f8ba02bbcf7c0e4f5c99f9ce6b788938f5987ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20S=C3=B6derlund?= Date: Wed, 8 May 2019 17:37:04 +0200 Subject: [PATCH] test: v4l2_device: Allow each test to specify which device and entity to test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prepare for different tests which implements V4L2DeviceTest to specify which media device and entity they wish to test. There is no functional changes, all tests still use vivid to perform there tests. Signed-off-by: Niklas Söderlund Acked-by: Kieran Bingham Reviewed-by: Laurent Pinchart --- test/v4l2_device/buffer_sharing.cpp | 5 ++--- test/v4l2_device/capture_async.cpp | 2 +- test/v4l2_device/double_open.cpp | 3 +++ test/v4l2_device/formats.cpp | 3 +++ test/v4l2_device/request_buffers.cpp | 4 ++++ test/v4l2_device/stream_on_off.cpp | 3 +++ test/v4l2_device/v4l2_device_test.cpp | 6 +++--- test/v4l2_device/v4l2_device_test.h | 6 ++++-- 8 files changed, 23 insertions(+), 9 deletions(-) diff --git a/test/v4l2_device/buffer_sharing.cpp b/test/v4l2_device/buffer_sharing.cpp index 09695239e..e63ddff85 100644 --- a/test/v4l2_device/buffer_sharing.cpp +++ b/test/v4l2_device/buffer_sharing.cpp @@ -23,9 +23,8 @@ class BufferSharingTest : public V4L2DeviceTest { public: BufferSharingTest() - : output_(nullptr), framesCaptured_(0), framesOutput_(0) - { - } + : V4L2DeviceTest("vivid", "vivid-000-vid-cap"), + output_(nullptr), framesCaptured_(0), framesOutput_(0) {} protected: int init() diff --git a/test/v4l2_device/capture_async.cpp b/test/v4l2_device/capture_async.cpp index 2a41b11e9..fd428ff90 100644 --- a/test/v4l2_device/capture_async.cpp +++ b/test/v4l2_device/capture_async.cpp @@ -18,7 +18,7 @@ class CaptureAsyncTest : public V4L2DeviceTest { public: CaptureAsyncTest() - : frames(0){}; + : V4L2DeviceTest("vivid", "vivid-000-vid-cap"), frames(0) {} void receiveBuffer(Buffer *buffer) { diff --git a/test/v4l2_device/double_open.cpp b/test/v4l2_device/double_open.cpp index 7ec80a60f..b402de04f 100644 --- a/test/v4l2_device/double_open.cpp +++ b/test/v4l2_device/double_open.cpp @@ -13,6 +13,9 @@ namespace { class DoubleOpen : public V4L2DeviceTest { +public: + DoubleOpen() + : V4L2DeviceTest("vivid", "vivid-000-vid-cap") {} protected: int run() { diff --git a/test/v4l2_device/formats.cpp b/test/v4l2_device/formats.cpp index 72676c9d3..3ac47f5cc 100644 --- a/test/v4l2_device/formats.cpp +++ b/test/v4l2_device/formats.cpp @@ -17,6 +17,9 @@ using namespace libcamera; class Format : public V4L2DeviceTest { +public: + Format() + : V4L2DeviceTest("vivid", "vivid-000-vid-cap") {} protected: int run() { diff --git a/test/v4l2_device/request_buffers.cpp b/test/v4l2_device/request_buffers.cpp index 938d4f85d..794b083eb 100644 --- a/test/v4l2_device/request_buffers.cpp +++ b/test/v4l2_device/request_buffers.cpp @@ -9,6 +9,10 @@ class RequestBuffersTest : public V4L2DeviceTest { +public: + RequestBuffersTest() + : V4L2DeviceTest("vivid", "vivid-000-vid-cap") {} + protected: int run() { diff --git a/test/v4l2_device/stream_on_off.cpp b/test/v4l2_device/stream_on_off.cpp index ea1b3f5bd..4902d5fd6 100644 --- a/test/v4l2_device/stream_on_off.cpp +++ b/test/v4l2_device/stream_on_off.cpp @@ -9,6 +9,9 @@ class StreamOnStreamOffTest : public V4L2DeviceTest { +public: + StreamOnStreamOffTest() + : V4L2DeviceTest("vivid", "vivid-000-vid-cap") {} protected: int run() { diff --git a/test/v4l2_device/v4l2_device_test.cpp b/test/v4l2_device/v4l2_device_test.cpp index 833038d56..ee5a8e009 100644 --- a/test/v4l2_device/v4l2_device_test.cpp +++ b/test/v4l2_device/v4l2_device_test.cpp @@ -39,14 +39,14 @@ int V4L2DeviceTest::init() return TestFail; } - DeviceMatch dm("vivid"); - dm.add("vivid-000-vid-cap"); + DeviceMatch dm(driver_); + dm.add(entity_); media_ = enumerator_->search(dm); if (!media_) return TestSkip; - MediaEntity *entity = media_->getEntityByName("vivid-000-vid-cap"); + MediaEntity *entity = media_->getEntityByName(entity_); if (!entity) return TestSkip; diff --git a/test/v4l2_device/v4l2_device_test.h b/test/v4l2_device/v4l2_device_test.h index c476d3c05..651c005f4 100644 --- a/test/v4l2_device/v4l2_device_test.h +++ b/test/v4l2_device/v4l2_device_test.h @@ -22,8 +22,8 @@ using namespace libcamera; class V4L2DeviceTest : public Test { public: - V4L2DeviceTest() - : capture_(nullptr) + V4L2DeviceTest(const char *driver, const char *entity) + : driver_(driver), entity_(entity), capture_(nullptr) { } @@ -31,6 +31,8 @@ protected: int init(); void cleanup(); + std::string driver_; + std::string entity_; std::unique_ptr enumerator_; std::shared_ptr media_; V4L2Device *capture_;