summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNiklas Söderlund <niklas.soderlund@ragnatech.se>2019-05-08 17:35:48 +0200
committerNiklas Söderlund <niklas.soderlund@ragnatech.se>2019-05-17 20:39:03 +0200
commit44937caa3d4be3e17e1402575431c3ef17704c90 (patch)
tree810e6db1cc9a8f79951edb13c2c61d3485a3ece7
parent4f8ba02bbcf7c0e4f5c99f9ce6b788938f5987ea (diff)
test: v4l2_device: Reset media links and set a resolution
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@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r--test/v4l2_device/v4l2_device_test.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/test/v4l2_device/v4l2_device_test.cpp b/test/v4l2_device/v4l2_device_test.cpp
index ee5a8e00..baad48f8 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()