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

Niklas Söderlund niklas.soderlund at ragnatech.se
Wed May 8 18:58:13 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>
---
 test/v4l2_device/v4l2_device_test.cpp | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/test/v4l2_device/v4l2_device_test.cpp b/test/v4l2_device/v4l2_device_test.cpp
index ee5a8e009bef2a5e..5bd80a6c68d796b6 100644
--- a/test/v4l2_device/v4l2_device_test.cpp
+++ b/test/v4l2_device/v4l2_device_test.cpp
@@ -54,7 +54,24 @@ int V4L2DeviceTest::init()
 	if (!capture_)
 		return TestFail;
 
-	return capture_->open();
+	media_->acquire();
+	if (media_->disableLinks())
+		return TestFail;
+	media_->release();
+
+	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