summaryrefslogtreecommitdiff
path: root/test/ipa
diff options
context:
space:
mode:
authorPaul Elder <paul.elder@ideasonboard.com>2019-05-27 17:50:19 -0400
committerPaul Elder <paul.elder@ideasonboard.com>2019-06-05 10:44:51 -0400
commit677e8e1dfedbc363cfab0403fd69ce8ecf61841f (patch)
treedb36220ca6f16056ed6bb78ade37b0fcca5cfba5 /test/ipa
parent379a0a5dd8eba20fc8bc0bf5e5c4f126eb129dbf (diff)
libcamera: ipa_module_info: update struct to allow IPA matching
We need a way to match pipelines with IPA modules, so add fields in IPAModuleInfo to hold the IPA module API version number, the pipeline name, and the pipeline version. The module API version is used to determine the layout of struct IPAModuleInfo. Also update IPA module tests and Doxygen accordingly. Doxygen needs to be updated to accomodate __attribute__((packed)). Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'test/ipa')
-rw-r--r--test/ipa/ipa_test.cpp27
-rw-r--r--test/ipa/shared_test.cpp4
2 files changed, 17 insertions, 14 deletions
diff --git a/test/ipa/ipa_test.cpp b/test/ipa/ipa_test.cpp
index 2dbc7029..63e4243e 100644
--- a/test/ipa/ipa_test.cpp
+++ b/test/ipa/ipa_test.cpp
@@ -33,18 +33,17 @@ protected:
const struct IPAModuleInfo &info = ll->info();
- if (strcmp(info.name, testInfo.name)) {
- cerr << "test IPA module has incorrect name" << endl;
- cerr << "expected \"" << testInfo.name << "\", got \""
- << info.name << "\"" << endl;
- ret = -1;
- }
-
- if (info.version != testInfo.version) {
- cerr << "test IPA module has incorrect version" << endl;
- cerr << "expected \"" << testInfo.version << "\", got \""
- << info.version << "\"" << endl;
- ret = -1;
+ if (memcmp(&info, &testInfo, sizeof(info))) {
+ cerr << "IPA module information mismatch: expected:" << endl
+ << "moduleAPIVersion = " << testInfo.moduleAPIVersion << endl
+ << "pipelineVersion = " << testInfo.pipelineVersion << endl
+ << "pipelineName = " << testInfo.pipelineName << endl
+ << "name = " << testInfo.name
+ << "got: " << endl
+ << "moduleAPIVersion = " << info.moduleAPIVersion << endl
+ << "pipelineVersion = " << info.pipelineVersion << endl
+ << "pipelineName = " << info.pipelineName << endl
+ << "name = " << info.name << endl;
}
delete ll;
@@ -56,8 +55,10 @@ protected:
int count = 0;
const struct IPAModuleInfo testInfo = {
- "It's over nine thousand!",
+ IPA_MODULE_API_VERSION,
9001,
+ "bleep",
+ "It's over nine thousand!",
};
count += runTest("test/ipa/ipa-dummy-cpp.so", testInfo);
diff --git a/test/ipa/shared_test.cpp b/test/ipa/shared_test.cpp
index 4e5c976c..8bac4393 100644
--- a/test/ipa/shared_test.cpp
+++ b/test/ipa/shared_test.cpp
@@ -4,8 +4,10 @@ namespace libcamera {
extern "C" {
const struct libcamera::IPAModuleInfo ipaModuleInfo = {
- "It's over nine thousand!",
+ IPA_MODULE_API_VERSION,
9001,
+ "bleep",
+ "It's over nine thousand!",
};
};