summaryrefslogtreecommitdiff
path: root/test/media_device/media_device_test.cpp
diff options
context:
space:
mode:
authorNiklas Söderlund <niklas.soderlund@ragnatech.se>2019-04-29 20:00:39 +0200
committerNiklas Söderlund <niklas.soderlund@ragnatech.se>2019-05-17 20:35:00 +0200
commit9654d1f64a216214304706802fab19a71eaf5cf1 (patch)
tree93b944fb26a520aa6e516954cba324b760da2e5c /test/media_device/media_device_test.cpp
parent1a813a5c3ab71a91e327d538d0df5d945e50561e (diff)
test: media_device: Create a common MediaDeviceTest base class
Before adding more tests which will act on the vimc pipeline break out a common base from media_device_link_test.cpp which already acts on vimc. The new common base class will help reduce code duplication. Signed-off-by: Niklas Söderlund <niklas.soderlund@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'test/media_device/media_device_test.cpp')
-rw-r--r--test/media_device/media_device_test.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/media_device/media_device_test.cpp b/test/media_device/media_device_test.cpp
new file mode 100644
index 00000000..1397d123
--- /dev/null
+++ b/test/media_device/media_device_test.cpp
@@ -0,0 +1,36 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2019, Google Inc.
+ *
+ * media_device_test.cpp - libcamera media device test base class
+ */
+
+#include <iostream>
+
+#include "media_device_test.h"
+
+using namespace libcamera;
+using namespace std;
+
+int MediaDeviceTest::init()
+{
+ enumerator_ = unique_ptr<DeviceEnumerator>(DeviceEnumerator::create());
+ if (!enumerator_) {
+ cerr << "Failed to create device enumerator" << endl;
+ return TestFail;
+ }
+
+ if (enumerator_->enumerate()) {
+ cerr << "Failed to enumerate media devices" << endl;
+ return TestFail;
+ }
+
+ DeviceMatch dm("vimc");
+ media_ = enumerator_->search(dm);
+ if (!media_) {
+ cerr << "No VIMC media device found: skip test" << endl;
+ return TestSkip;
+ }
+
+ return TestPass;
+}