test: media_device: Add test for acquire() and release()

The interfaces MediaDevice::{open,close}() are about to be made private,
replace them with a test of MediaDevice::{acquire,release}() instead.
The new test will implicitly tests the open() and close() methods as
they are about to be move inside acquire() and release() which will
remain public.

Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Niklas Söderlund 2019-04-29 19:29:35 +02:00
parent 9654d1f64a
commit 9c1fe51ebc
3 changed files with 34 additions and 11 deletions

View file

@ -0,0 +1,33 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* Copyright (C) 2019, Google Inc.
*
* media_device_acquire.cpp- Test acquire/release of a MediaDevice
*/
#include "media_device_test.h"
using namespace libcamera;
class MediaDeviceAcquire : public MediaDeviceTest
{
int run()
{
if (!media_->acquire())
return TestFail;
if (media_->acquire())
return TestFail;
media_->release();
if (!media_->acquire())
return TestFail;
media_->release();
return TestPass;
}
};
TEST_REGISTER(MediaDeviceAcquire);

View file

@ -113,17 +113,6 @@ int MediaDevicePrintTest::testMediaDevice(const string deviceNode)
MediaDevice dev(deviceNode); MediaDevice dev(deviceNode);
int ret; int ret;
/* Fuzzy open/close sequence. */
ret = dev.open();
if (ret)
return ret;
ret = dev.open();
if (!ret)
return ret;
dev.close();
ret = dev.populate(); ret = dev.populate();
if (ret) if (ret)
return ret; return ret;

View file

@ -3,6 +3,7 @@ lib_mdev_test_sources = files([
]) ])
media_device_tests = [ media_device_tests = [
['media_device_acquire', 'media_device_acquire.cpp'],
['media_device_print_test', 'media_device_print_test.cpp'], ['media_device_print_test', 'media_device_print_test.cpp'],
['media_device_link_test', 'media_device_link_test.cpp'], ['media_device_link_test', 'media_device_link_test.cpp'],
] ]