test: v4l2_device: Add test suite and initial test

Provide a base class to construct a v4l2_device object for further tests
and an initial test which validates the FD handle can not be leaked.

Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Kieran Bingham 2019-01-08 14:00:24 +00:00
parent e74f3eebb4
commit 479264dfca
5 changed files with 121 additions and 0 deletions

View file

@ -0,0 +1,43 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
* Copyright (C) 2019, Google Inc.
*
* libcamera V4L2 API tests
*/
#include <iostream>
#include <sys/stat.h>
#include "v4l2_device_test.h"
using namespace libcamera;
bool exists(const std::string &path)
{
struct stat sb;
if (stat(path.c_str(), &sb) == 0)
return true;
return false;
}
int V4L2DeviceTest::init()
{
const std::string device("/dev/video0");
/* Validate the device node exists. */
if (!exists(device)) {
std::cout << "No video device available" << std::endl;
return TestSkip;
}
dev_ = new V4L2Device(device);
return dev_->open();
}
void V4L2DeviceTest::cleanup()
{
delete dev_;
};