[libcamera-devel] [PATCH v8 17/17] lc-compliance: Add test to ensure MinimumRequests is valid
Nícolas F. R. A. Prado
nfraprado at collabora.com
Tue Aug 24 21:56:36 CEST 2021
Add a test in lc-compliance to check that the MinimumRequests property
is set and valid, that is, greater than 0.
Signed-off-by: Nícolas F. R. A. Prado <nfraprado at collabora.com>
---
Changes in v8:
- Moved RequiredProperties test to property_test.cpp
- Moved CameraTests to new test_base.{cpp,h} files
Changes in v7:
- New
src/lc-compliance/meson.build | 1 +
src/lc-compliance/property_test.cpp | 24 ++++++++++++++++++++++++
src/lc-compliance/test_base.cpp | 10 ++++++++++
src/lc-compliance/test_base.h | 7 +++++++
4 files changed, 42 insertions(+)
create mode 100644 src/lc-compliance/property_test.cpp
diff --git a/src/lc-compliance/meson.build b/src/lc-compliance/meson.build
index db593a6ec201..0c7e750b8264 100644
--- a/src/lc-compliance/meson.build
+++ b/src/lc-compliance/meson.build
@@ -16,6 +16,7 @@ lc_compliance_sources = files([
'capture_test.cpp',
'environment.cpp',
'main.cpp',
+ 'property_test.cpp',
'simple_capture.cpp',
'test_base.cpp',
])
diff --git a/src/lc-compliance/property_test.cpp b/src/lc-compliance/property_test.cpp
new file mode 100644
index 000000000000..6a0951b2ce53
--- /dev/null
+++ b/src/lc-compliance/property_test.cpp
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2021, Collabora Ltd.
+ *
+ * property_test.cpp - Test camera properties
+ */
+
+#include <libcamera/libcamera.h>
+
+#include <gtest/gtest.h>
+
+#include "test_base.h"
+
+using namespace libcamera;
+
+TEST_F(CameraTests, RequiredProperties)
+{
+ const ControlList &properties = camera_->properties();
+
+ using namespace properties;
+
+ EXPECT_GT(properties.get(MinimumRequests), 0)
+ << "Camera should have a positive value for MinimumRequests property";
+}
diff --git a/src/lc-compliance/test_base.cpp b/src/lc-compliance/test_base.cpp
index c9957b9efd36..a5e64c8b8144 100644
--- a/src/lc-compliance/test_base.cpp
+++ b/src/lc-compliance/test_base.cpp
@@ -26,3 +26,13 @@ void CameraHolder::releaseCamera()
camera_->release();
camera_.reset();
}
+
+void CameraTests::SetUp()
+{
+ acquireCamera();
+}
+
+void CameraTests::TearDown()
+{
+ releaseCamera();
+}
diff --git a/src/lc-compliance/test_base.h b/src/lc-compliance/test_base.h
index 52347749ab10..8125e1c60af7 100644
--- a/src/lc-compliance/test_base.h
+++ b/src/lc-compliance/test_base.h
@@ -21,4 +21,11 @@ protected:
std::shared_ptr<libcamera::Camera> camera_;
};
+class CameraTests : public ::testing::Test, public CameraHolder
+{
+protected:
+ void SetUp() override;
+ void TearDown() override;
+};
+
#endif /* __LC_COMPLIANCE_TEST_BASE_H__ */
--
2.33.0
More information about the libcamera-devel
mailing list