test: Extract CameraTest class out of camera tests to libtest

Many tests other than the camera/ tests use a camera. To increase code
sharing, move the base CameraTest class to the test library. The class
becomes a helper that doesn't inherit from Test anymore (to avoid
diamond inheritance issues when more such helpers will exist).

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
This commit is contained in:
Laurent Pinchart 2019-10-27 19:20:39 +02:00
parent 6b3308ba1b
commit fac471e812
10 changed files with 77 additions and 76 deletions

View file

@ -8,13 +8,20 @@
#include <iostream>
#include "camera_test.h"
#include "test.h"
using namespace std;
namespace {
class Statemachine : public CameraTest
class Statemachine : public CameraTest, public Test
{
public:
Statemachine()
: CameraTest("VIMC Sensor B")
{
}
protected:
int testAvailable()
{
@ -233,14 +240,12 @@ protected:
int init() override
{
int ret = CameraTest::init();
if (ret)
return ret;
if (status_ != TestPass)
return status_;
defconf_ = camera_->generateConfiguration({ StreamRole::VideoRecording });
if (!defconf_) {
cout << "Failed to generate default configuration" << endl;
CameraTest::cleanup();
return TestFail;
}