summaryrefslogtreecommitdiff
path: root/test/serialization/control_serialization.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/serialization/control_serialization.cpp')
-rw-r--r--test/serialization/control_serialization.cpp26
1 files changed, 18 insertions, 8 deletions
diff --git a/test/serialization/control_serialization.cpp b/test/serialization/control_serialization.cpp
index 2989b527..06c572b7 100644
--- a/test/serialization/control_serialization.cpp
+++ b/test/serialization/control_serialization.cpp
@@ -2,7 +2,7 @@
/*
* Copyright (C) 2019, Google Inc.
*
- * control_serialization.cpp - Serialize and deserialize controls
+ * Serialize and deserialize controls
*/
#include <iostream>
@@ -11,8 +11,9 @@
#include <libcamera/control_ids.h>
#include <libcamera/controls.h>
-#include "byte_stream_buffer.h"
-#include "control_serializer.h"
+#include "libcamera/internal/byte_stream_buffer.h"
+#include "libcamera/internal/control_serializer.h"
+
#include "serialization_test.h"
#include "test.h"
@@ -29,8 +30,8 @@ protected:
int run() override
{
- ControlSerializer serializer;
- ControlSerializer deserializer;
+ ControlSerializer serializer(ControlSerializer::Role::Proxy);
+ ControlSerializer deserializer(ControlSerializer::Role::Worker);
std::vector<uint8_t> infoData;
std::vector<uint8_t> listData;
@@ -42,9 +43,9 @@ protected:
const ControlInfoMap &infoMap = camera_->controls();
ControlList list(infoMap);
- list.set(controls::Brightness, 255);
- list.set(controls::Contrast, 128);
- list.set(controls::Saturation, 50);
+ list.set(controls::Brightness, 0.5f);
+ list.set(controls::Contrast, 1.2f);
+ list.set(controls::Saturation, 0.2f);
/*
* Serialize the control list, this should fail as the control
@@ -139,6 +140,15 @@ protected:
return TestFail;
}
+ /* Make sure control limits looked up by id are not changed. */
+ const ControlInfo &newLimits = newInfoMap.at(&controls::Brightness);
+ const ControlInfo &initialLimits = infoMap.at(&controls::Brightness);
+ if (newLimits.min() != initialLimits.min() ||
+ newLimits.max() != initialLimits.max()) {
+ cerr << "The brightness control limits have changed" << endl;
+ return TestFail;
+ }
+
/* Deserialize the control list and verify the contents. */
buffer = ByteStreamBuffer(const_cast<const uint8_t *>(listData.data()),
listData.size());