mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-13 07:19:45 +03:00
apps: lc-compliance: Re-organize source directory
Before adding more tests and more helper classes to lc-compliance, reorganize the source tree to split test and helpers in two separate directories. While at it, rename the 'SimpleCapture' class and its derived classes to just 'Capture'. Rename the source files accordingly. Re-sort headers inclusions to please checkstyle.py too. Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Stefan Klug <stefan.klug@ideasonboard.com> Tested-by: Stefan Klug <stefan.klug@ideasonboard.com>
This commit is contained in:
parent
b20e1e1c5a
commit
ed632bf37e
4 changed files with 39 additions and 32 deletions
|
@ -5,24 +5,24 @@
|
||||||
* simple_capture.cpp - Simple capture helper
|
* simple_capture.cpp - Simple capture helper
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <gtest/gtest.h>
|
#include "capture.h"
|
||||||
|
|
||||||
#include "simple_capture.h"
|
#include <gtest/gtest.h>
|
||||||
|
|
||||||
using namespace libcamera;
|
using namespace libcamera;
|
||||||
|
|
||||||
SimpleCapture::SimpleCapture(std::shared_ptr<Camera> camera)
|
Capture::Capture(std::shared_ptr<Camera> camera)
|
||||||
: loop_(nullptr), camera_(camera),
|
: loop_(nullptr), camera_(camera),
|
||||||
allocator_(std::make_unique<FrameBufferAllocator>(camera))
|
allocator_(std::make_unique<FrameBufferAllocator>(camera))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
SimpleCapture::~SimpleCapture()
|
Capture::~Capture()
|
||||||
{
|
{
|
||||||
stop();
|
stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SimpleCapture::configure(StreamRole role)
|
void Capture::configure(StreamRole role)
|
||||||
{
|
{
|
||||||
config_ = camera_->generateConfiguration({ role });
|
config_ = camera_->generateConfiguration({ role });
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ void SimpleCapture::configure(StreamRole role)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SimpleCapture::start()
|
void Capture::start()
|
||||||
{
|
{
|
||||||
Stream *stream = config_->at(0).stream();
|
Stream *stream = config_->at(0).stream();
|
||||||
int count = allocator_->allocate(stream);
|
int count = allocator_->allocate(stream);
|
||||||
|
@ -50,12 +50,12 @@ void SimpleCapture::start()
|
||||||
ASSERT_GE(count, 0) << "Failed to allocate buffers";
|
ASSERT_GE(count, 0) << "Failed to allocate buffers";
|
||||||
EXPECT_EQ(count, config_->at(0).bufferCount) << "Allocated less buffers than expected";
|
EXPECT_EQ(count, config_->at(0).bufferCount) << "Allocated less buffers than expected";
|
||||||
|
|
||||||
camera_->requestCompleted.connect(this, &SimpleCapture::requestComplete);
|
camera_->requestCompleted.connect(this, &Capture::requestComplete);
|
||||||
|
|
||||||
ASSERT_EQ(camera_->start(), 0) << "Failed to start camera";
|
ASSERT_EQ(camera_->start(), 0) << "Failed to start camera";
|
||||||
}
|
}
|
||||||
|
|
||||||
void SimpleCapture::stop()
|
void Capture::stop()
|
||||||
{
|
{
|
||||||
if (!config_ || !allocator_->allocated())
|
if (!config_ || !allocator_->allocated())
|
||||||
return;
|
return;
|
||||||
|
@ -69,14 +69,14 @@ void SimpleCapture::stop()
|
||||||
allocator_->free(stream);
|
allocator_->free(stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* SimpleCaptureBalanced */
|
/* CaptureBalanced */
|
||||||
|
|
||||||
SimpleCaptureBalanced::SimpleCaptureBalanced(std::shared_ptr<Camera> camera)
|
CaptureBalanced::CaptureBalanced(std::shared_ptr<Camera> camera)
|
||||||
: SimpleCapture(camera)
|
: Capture(camera)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void SimpleCaptureBalanced::capture(unsigned int numRequests)
|
void CaptureBalanced::capture(unsigned int numRequests)
|
||||||
{
|
{
|
||||||
start();
|
start();
|
||||||
|
|
||||||
|
@ -116,7 +116,7 @@ void SimpleCaptureBalanced::capture(unsigned int numRequests)
|
||||||
ASSERT_EQ(captureCount_, captureLimit_);
|
ASSERT_EQ(captureCount_, captureLimit_);
|
||||||
}
|
}
|
||||||
|
|
||||||
int SimpleCaptureBalanced::queueRequest(Request *request)
|
int CaptureBalanced::queueRequest(Request *request)
|
||||||
{
|
{
|
||||||
queueCount_++;
|
queueCount_++;
|
||||||
if (queueCount_ > captureLimit_)
|
if (queueCount_ > captureLimit_)
|
||||||
|
@ -125,7 +125,7 @@ int SimpleCaptureBalanced::queueRequest(Request *request)
|
||||||
return camera_->queueRequest(request);
|
return camera_->queueRequest(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SimpleCaptureBalanced::requestComplete(Request *request)
|
void CaptureBalanced::requestComplete(Request *request)
|
||||||
{
|
{
|
||||||
EXPECT_EQ(request->status(), Request::Status::RequestComplete)
|
EXPECT_EQ(request->status(), Request::Status::RequestComplete)
|
||||||
<< "Request didn't complete successfully";
|
<< "Request didn't complete successfully";
|
||||||
|
@ -141,14 +141,14 @@ void SimpleCaptureBalanced::requestComplete(Request *request)
|
||||||
loop_->exit(-EINVAL);
|
loop_->exit(-EINVAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* SimpleCaptureUnbalanced */
|
/* CaptureUnbalanced */
|
||||||
|
|
||||||
SimpleCaptureUnbalanced::SimpleCaptureUnbalanced(std::shared_ptr<Camera> camera)
|
CaptureUnbalanced::CaptureUnbalanced(std::shared_ptr<Camera> camera)
|
||||||
: SimpleCapture(camera)
|
: Capture(camera)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void SimpleCaptureUnbalanced::capture(unsigned int numRequests)
|
void CaptureUnbalanced::capture(unsigned int numRequests)
|
||||||
{
|
{
|
||||||
start();
|
start();
|
||||||
|
|
||||||
|
@ -179,7 +179,7 @@ void SimpleCaptureUnbalanced::capture(unsigned int numRequests)
|
||||||
ASSERT_EQ(status, 0);
|
ASSERT_EQ(status, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SimpleCaptureUnbalanced::requestComplete(Request *request)
|
void CaptureUnbalanced::requestComplete(Request *request)
|
||||||
{
|
{
|
||||||
captureCount_++;
|
captureCount_++;
|
||||||
if (captureCount_ >= captureLimit_) {
|
if (captureCount_ >= captureLimit_) {
|
|
@ -13,14 +13,14 @@
|
||||||
|
|
||||||
#include "../common/event_loop.h"
|
#include "../common/event_loop.h"
|
||||||
|
|
||||||
class SimpleCapture
|
class Capture
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void configure(libcamera::StreamRole role);
|
void configure(libcamera::StreamRole role);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
SimpleCapture(std::shared_ptr<libcamera::Camera> camera);
|
Capture(std::shared_ptr<libcamera::Camera> camera);
|
||||||
virtual ~SimpleCapture();
|
virtual ~Capture();
|
||||||
|
|
||||||
void start();
|
void start();
|
||||||
void stop();
|
void stop();
|
||||||
|
@ -35,10 +35,10 @@ protected:
|
||||||
std::vector<std::unique_ptr<libcamera::Request>> requests_;
|
std::vector<std::unique_ptr<libcamera::Request>> requests_;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SimpleCaptureBalanced : public SimpleCapture
|
class CaptureBalanced : public Capture
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SimpleCaptureBalanced(std::shared_ptr<libcamera::Camera> camera);
|
CaptureBalanced(std::shared_ptr<libcamera::Camera> camera);
|
||||||
|
|
||||||
void capture(unsigned int numRequests);
|
void capture(unsigned int numRequests);
|
||||||
|
|
||||||
|
@ -51,10 +51,10 @@ private:
|
||||||
unsigned int captureLimit_;
|
unsigned int captureLimit_;
|
||||||
};
|
};
|
||||||
|
|
||||||
class SimpleCaptureUnbalanced : public SimpleCapture
|
class CaptureUnbalanced : public Capture
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
SimpleCaptureUnbalanced(std::shared_ptr<libcamera::Camera> camera);
|
CaptureUnbalanced(std::shared_ptr<libcamera::Camera> camera);
|
||||||
|
|
||||||
void capture(unsigned int numRequests);
|
void capture(unsigned int numRequests);
|
||||||
|
|
|
@ -12,10 +12,15 @@ endif
|
||||||
lc_compliance_enabled = true
|
lc_compliance_enabled = true
|
||||||
|
|
||||||
lc_compliance_sources = files([
|
lc_compliance_sources = files([
|
||||||
'capture_test.cpp',
|
|
||||||
'environment.cpp',
|
'environment.cpp',
|
||||||
|
'helpers/capture.cpp',
|
||||||
'main.cpp',
|
'main.cpp',
|
||||||
'simple_capture.cpp',
|
'tests/capture_test.cpp',
|
||||||
|
])
|
||||||
|
|
||||||
|
lc_compliance_includes = ([
|
||||||
|
include_directories('.'),
|
||||||
|
include_directories('helpers/')
|
||||||
])
|
])
|
||||||
|
|
||||||
lc_compliance = executable('lc-compliance', lc_compliance_sources,
|
lc_compliance = executable('lc-compliance', lc_compliance_sources,
|
||||||
|
@ -27,5 +32,6 @@ lc_compliance = executable('lc-compliance', lc_compliance_sources,
|
||||||
libevent,
|
libevent,
|
||||||
libgtest,
|
libgtest,
|
||||||
],
|
],
|
||||||
|
include_directories : lc_compliance_includes,
|
||||||
install : true,
|
install : true,
|
||||||
install_tag : 'bin-devel')
|
install_tag : 'bin-devel')
|
||||||
|
|
|
@ -6,12 +6,13 @@
|
||||||
* capture_test.cpp - Test camera capture
|
* capture_test.cpp - Test camera capture
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include "capture.h"
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
#include <gtest/gtest.h>
|
#include <gtest/gtest.h>
|
||||||
|
|
||||||
#include "environment.h"
|
#include "environment.h"
|
||||||
#include "simple_capture.h"
|
|
||||||
|
|
||||||
using namespace libcamera;
|
using namespace libcamera;
|
||||||
|
|
||||||
|
@ -83,7 +84,7 @@ TEST_P(SingleStream, Capture)
|
||||||
{
|
{
|
||||||
auto [role, numRequests] = GetParam();
|
auto [role, numRequests] = GetParam();
|
||||||
|
|
||||||
SimpleCaptureBalanced capture(camera_);
|
CaptureBalanced capture(camera_);
|
||||||
|
|
||||||
capture.configure(role);
|
capture.configure(role);
|
||||||
|
|
||||||
|
@ -102,7 +103,7 @@ TEST_P(SingleStream, CaptureStartStop)
|
||||||
auto [role, numRequests] = GetParam();
|
auto [role, numRequests] = GetParam();
|
||||||
unsigned int numRepeats = 3;
|
unsigned int numRepeats = 3;
|
||||||
|
|
||||||
SimpleCaptureBalanced capture(camera_);
|
CaptureBalanced capture(camera_);
|
||||||
|
|
||||||
capture.configure(role);
|
capture.configure(role);
|
||||||
|
|
||||||
|
@ -121,7 +122,7 @@ TEST_P(SingleStream, UnbalancedStop)
|
||||||
{
|
{
|
||||||
auto [role, numRequests] = GetParam();
|
auto [role, numRequests] = GetParam();
|
||||||
|
|
||||||
SimpleCaptureUnbalanced capture(camera_);
|
CaptureUnbalanced capture(camera_);
|
||||||
|
|
||||||
capture.configure(role);
|
capture.configure(role);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue