[libcamera-devel,v4,06/11] test: media_device: Add test for acquire() and release()

Message ID 20190517005447.27171-7-niklas.soderlund@ragnatech.se
State Accepted
Headers show
Series
  • libcamerea: Add support for exclusive access to cameras between processes
Related show

Commit Message

Niklas Söderlund May 17, 2019, 12:54 a.m. UTC
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>
---
 test/media_device/media_device_acquire.cpp    | 33 +++++++++++++++++++
 test/media_device/media_device_print_test.cpp | 11 -------
 test/media_device/meson.build                 |  1 +
 3 files changed, 34 insertions(+), 11 deletions(-)
 create mode 100644 test/media_device/media_device_acquire.cpp

Patch

diff --git a/test/media_device/media_device_acquire.cpp b/test/media_device/media_device_acquire.cpp
new file mode 100644
index 0000000000000000..d1e3d74439e1c513
--- /dev/null
+++ b/test/media_device/media_device_acquire.cpp
@@ -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);
diff --git a/test/media_device/media_device_print_test.cpp b/test/media_device/media_device_print_test.cpp
index ceffd538e13fca73..30d929b8c76387a7 100644
--- a/test/media_device/media_device_print_test.cpp
+++ b/test/media_device/media_device_print_test.cpp
@@ -113,17 +113,6 @@  int MediaDevicePrintTest::testMediaDevice(const string deviceNode)
 	MediaDevice dev(deviceNode);
 	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();
 	if (ret)
 		return ret;
diff --git a/test/media_device/meson.build b/test/media_device/meson.build
index 364b4ecf662077ac..05bf7c9b8de335d2 100644
--- a/test/media_device/meson.build
+++ b/test/media_device/meson.build
@@ -3,6 +3,7 @@  libmediadevicetest_sources = files([
 ])
 
 media_device_tests = [
+    ['media_device_acquire',            'media_device_acquire.cpp'],
     ['media_device_print_test',         'media_device_print_test.cpp'],
     ['media_device_link_test',          'media_device_link_test.cpp'],
 ]