mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-13 15:29:45 +03:00
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>
43 lines
674 B
C++
43 lines
674 B
C++
/* 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_;
|
|
};
|