summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo.mondi@ideasonboard.com>2023-12-22 17:22:40 +0100
committerJacopo Mondi <jacopo.mondi@ideasonboard.com>2024-03-20 11:12:01 +0100
commited632bf37ebe94310d15f2ef8d25552fea88bafc (patch)
tree05a8a76309c1ae22df47331a652a074643a8e79a
parentb20e1e1c5aae972d2cb5d31ce9ef018762444ac2 (diff)
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>
-rw-r--r--src/apps/lc-compliance/helpers/capture.cpp (renamed from src/apps/lc-compliance/simple_capture.cpp)38
-rw-r--r--src/apps/lc-compliance/helpers/capture.h (renamed from src/apps/lc-compliance/simple_capture.h)14
-rw-r--r--src/apps/lc-compliance/meson.build10
-rw-r--r--src/apps/lc-compliance/tests/capture_test.cpp (renamed from src/apps/lc-compliance/capture_test.cpp)9
4 files changed, 39 insertions, 32 deletions
diff --git a/src/apps/lc-compliance/simple_capture.cpp b/src/apps/lc-compliance/helpers/capture.cpp
index 545b444c..5aab973f 100644
--- a/src/apps/lc-compliance/simple_capture.cpp
+++ b/src/apps/lc-compliance/helpers/capture.cpp
@@ -5,24 +5,24 @@
* simple_capture.cpp - Simple capture helper
*/
-#include <gtest/gtest.h>
+#include "capture.h"
-#include "simple_capture.h"
+#include <gtest/gtest.h>
using namespace libcamera;
-SimpleCapture::SimpleCapture(std::shared_ptr<Camera> camera)
+Capture::Capture(std::shared_ptr<Camera> camera)
: loop_(nullptr), camera_(camera),
allocator_(std::make_unique<FrameBufferAllocator>(camera))
{
}
-SimpleCapture::~SimpleCapture()
+Capture::~Capture()
{
stop();
}
-void SimpleCapture::configure(StreamRole role)
+void Capture::configure(StreamRole 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();
int count = allocator_->allocate(stream);
@@ -50,12 +50,12 @@ void SimpleCapture::start()
ASSERT_GE(count, 0) << "Failed to allocate buffers";
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";
}
-void SimpleCapture::stop()
+void Capture::stop()
{
if (!config_ || !allocator_->allocated())
return;
@@ -69,14 +69,14 @@ void SimpleCapture::stop()
allocator_->free(stream);
}
-/* SimpleCaptureBalanced */
+/* CaptureBalanced */
-SimpleCaptureBalanced::SimpleCaptureBalanced(std::shared_ptr<Camera> camera)
- : SimpleCapture(camera)
+CaptureBalanced::CaptureBalanced(std::shared_ptr<Camera> camera)
+ : Capture(camera)
{
}
-void SimpleCaptureBalanced::capture(unsigned int numRequests)
+void CaptureBalanced::capture(unsigned int numRequests)
{
start();
@@ -116,7 +116,7 @@ void SimpleCaptureBalanced::capture(unsigned int numRequests)
ASSERT_EQ(captureCount_, captureLimit_);
}
-int SimpleCaptureBalanced::queueRequest(Request *request)
+int CaptureBalanced::queueRequest(Request *request)
{
queueCount_++;
if (queueCount_ > captureLimit_)
@@ -125,7 +125,7 @@ int SimpleCaptureBalanced::queueRequest(Request *request)
return camera_->queueRequest(request);
}
-void SimpleCaptureBalanced::requestComplete(Request *request)
+void CaptureBalanced::requestComplete(Request *request)
{
EXPECT_EQ(request->status(), Request::Status::RequestComplete)
<< "Request didn't complete successfully";
@@ -141,14 +141,14 @@ void SimpleCaptureBalanced::requestComplete(Request *request)
loop_->exit(-EINVAL);
}
-/* SimpleCaptureUnbalanced */
+/* CaptureUnbalanced */
-SimpleCaptureUnbalanced::SimpleCaptureUnbalanced(std::shared_ptr<Camera> camera)
- : SimpleCapture(camera)
+CaptureUnbalanced::CaptureUnbalanced(std::shared_ptr<Camera> camera)
+ : Capture(camera)
{
}
-void SimpleCaptureUnbalanced::capture(unsigned int numRequests)
+void CaptureUnbalanced::capture(unsigned int numRequests)
{
start();
@@ -179,7 +179,7 @@ void SimpleCaptureUnbalanced::capture(unsigned int numRequests)
ASSERT_EQ(status, 0);
}
-void SimpleCaptureUnbalanced::requestComplete(Request *request)
+void CaptureUnbalanced::requestComplete(Request *request)
{
captureCount_++;
if (captureCount_ >= captureLimit_) {
diff --git a/src/apps/lc-compliance/simple_capture.h b/src/apps/lc-compliance/helpers/capture.h
index 2911d601..0574ab1c 100644
--- a/src/apps/lc-compliance/simple_capture.h
+++ b/src/apps/lc-compliance/helpers/capture.h
@@ -13,14 +13,14 @@
#include "../common/event_loop.h"
-class SimpleCapture
+class Capture
{
public:
void configure(libcamera::StreamRole role);
protected:
- SimpleCapture(std::shared_ptr<libcamera::Camera> camera);
- virtual ~SimpleCapture();
+ Capture(std::shared_ptr<libcamera::Camera> camera);
+ virtual ~Capture();
void start();
void stop();
@@ -35,10 +35,10 @@ protected:
std::vector<std::unique_ptr<libcamera::Request>> requests_;
};
-class SimpleCaptureBalanced : public SimpleCapture
+class CaptureBalanced : public Capture
{
public:
- SimpleCaptureBalanced(std::shared_ptr<libcamera::Camera> camera);
+ CaptureBalanced(std::shared_ptr<libcamera::Camera> camera);
void capture(unsigned int numRequests);
@@ -51,10 +51,10 @@ private:
unsigned int captureLimit_;
};
-class SimpleCaptureUnbalanced : public SimpleCapture
+class CaptureUnbalanced : public Capture
{
public:
- SimpleCaptureUnbalanced(std::shared_ptr<libcamera::Camera> camera);
+ CaptureUnbalanced(std::shared_ptr<libcamera::Camera> camera);
void capture(unsigned int numRequests);
diff --git a/src/apps/lc-compliance/meson.build b/src/apps/lc-compliance/meson.build
index c792f072..b1f605f3 100644
--- a/src/apps/lc-compliance/meson.build
+++ b/src/apps/lc-compliance/meson.build
@@ -12,10 +12,15 @@ endif
lc_compliance_enabled = true
lc_compliance_sources = files([
- 'capture_test.cpp',
'environment.cpp',
+ 'helpers/capture.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,
@@ -27,5 +32,6 @@ lc_compliance = executable('lc-compliance', lc_compliance_sources,
libevent,
libgtest,
],
+ include_directories : lc_compliance_includes,
install : true,
install_tag : 'bin-devel')
diff --git a/src/apps/lc-compliance/capture_test.cpp b/src/apps/lc-compliance/tests/capture_test.cpp
index 1dcfcf92..284d3630 100644
--- a/src/apps/lc-compliance/capture_test.cpp
+++ b/src/apps/lc-compliance/tests/capture_test.cpp
@@ -6,12 +6,13 @@
* capture_test.cpp - Test camera capture
*/
+#include "capture.h"
+
#include <iostream>
#include <gtest/gtest.h>
#include "environment.h"
-#include "simple_capture.h"
using namespace libcamera;
@@ -83,7 +84,7 @@ TEST_P(SingleStream, Capture)
{
auto [role, numRequests] = GetParam();
- SimpleCaptureBalanced capture(camera_);
+ CaptureBalanced capture(camera_);
capture.configure(role);
@@ -102,7 +103,7 @@ TEST_P(SingleStream, CaptureStartStop)
auto [role, numRequests] = GetParam();
unsigned int numRepeats = 3;
- SimpleCaptureBalanced capture(camera_);
+ CaptureBalanced capture(camera_);
capture.configure(role);
@@ -121,7 +122,7 @@ TEST_P(SingleStream, UnbalancedStop)
{
auto [role, numRequests] = GetParam();
- SimpleCaptureUnbalanced capture(camera_);
+ CaptureUnbalanced capture(camera_);
capture.configure(role);