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>
This commit is contained in:
Niklas Söderlund
2019-04-29 20:00:39 +02:00
parent 1a813a5c3a
commit 9654d1f64a
4 changed files with 99 additions and 43 deletions
+36
View File
@@ -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;
}