[libcamera-devel] [PATCH v2 4/5] test: v4l2_device: Reset media links and set a resolution

Niklas Söderlund niklas.soderlund at ragnatech.se
Sat May 11 13:11:14 CEST 2019


When initializing the test reset any media links and set a know
resolutions. This is needed to put the device under test into known
state and not have the v4l2 device tests depend on that no one have
touched the device before the test is executed.

The resolution is picked purely at random and could possibly be moved to
each test case if there is a need for different resolutions for a
specific one.

Signed-off-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 test/v4l2_device/v4l2_device_test.cpp | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/test/v4l2_device/v4l2_device_test.cpp b/test/v4l2_device/v4l2_device_test.cpp
index ee5a8e009bef2a5e..baad48f8aa9e6439 100644
--- a/test/v4l2_device/v4l2_device_test.cpp
+++ b/test/v4l2_device/v4l2_device_test.cpp
@@ -54,7 +54,27 @@ int V4L2DeviceTest::init()
 	if (!capture_)
 		return TestFail;
 
-	return capture_->open();
+	if (!media_->acquire())
+		return TestFail;
+
+	int ret = media_->disableLinks();
+	media_->release();
+	if (ret)
+		return TestFail;
+
+	if (capture_->open())
+		return TestFail;
+
+	V4L2DeviceFormat format = {};
+	if (capture_->getFormat(&format))
+		return TestFail;
+
+	format.size.width = 640;
+	format.size.height = 480;
+	if (capture_->setFormat(&format))
+		return TestFail;
+
+	return TestPass;
 }
 
 void V4L2DeviceTest::cleanup()
-- 
2.21.0



More information about the libcamera-devel mailing list