summaryrefslogtreecommitdiff
path: root/test/serialization/generated_serializer/include
diff options
context:
space:
mode:
authorPaul Elder <paul.elder@ideasonboard.com>2020-12-05 19:31:06 +0900
committerPaul Elder <paul.elder@ideasonboard.com>2021-03-02 19:27:35 +0900
commit817a4b4472039251944cba131b25f75cc067f9b1 (patch)
tree21af1e53705f0fc8c17123507d58e80482b0f6fc /test/serialization/generated_serializer/include
parentf70d5b14d611e2d2942a2fc8813669f604377303 (diff)
tests: Test IPA serializer generation
Add a test to confirm that serializer and header generation works properly for mojom definition files, and that the serializer works properly. Signed-off-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'test/serialization/generated_serializer/include')
-rw-r--r--test/serialization/generated_serializer/include/libcamera/ipa/meson.build40
-rw-r--r--test/serialization/generated_serializer/include/libcamera/ipa/test.mojom33
2 files changed, 73 insertions, 0 deletions
diff --git a/test/serialization/generated_serializer/include/libcamera/ipa/meson.build b/test/serialization/generated_serializer/include/libcamera/ipa/meson.build
new file mode 100644
index 00000000..ba198f7a
--- /dev/null
+++ b/test/serialization/generated_serializer/include/libcamera/ipa/meson.build
@@ -0,0 +1,40 @@
+# SPDX-License-Identifier: CC0-1.0
+
+# test.mojom-module
+mojom = custom_target('test_mojom_module',
+ input : 'test.mojom',
+ output : 'test.mojom-module',
+ command : [
+ mojom_parser,
+ '--output-root', meson.build_root(),
+ '--input-root', meson.source_root(),
+ '--mojoms', '@INPUT@'
+ ])
+
+# test_ipa_interface.h
+generated_test_header = custom_target('test_ipa_interface_h',
+ input : mojom,
+ output : 'test_ipa_interface.h',
+ depends : mojom_templates,
+ command : [
+ mojom_generator, 'generate',
+ '-g', 'libcamera',
+ '--bytecode_path', mojom_templates_dir,
+ '--libcamera_generate_header',
+ '--libcamera_output_path=@OUTPUT@',
+ './' +'@INPUT@'
+ ])
+
+# test_ipa_serializer.h
+generated_test_serializer = custom_target('test_ipa_serializer_h',
+ input : mojom,
+ output : 'test_ipa_serializer.h',
+ depends : mojom_templates,
+ command : [
+ mojom_generator, 'generate',
+ '-g', 'libcamera',
+ '--bytecode_path', mojom_templates_dir,
+ '--libcamera_generate_serializer',
+ '--libcamera_output_path=@OUTPUT@',
+ './' +'@INPUT@'
+ ])
diff --git a/test/serialization/generated_serializer/include/libcamera/ipa/test.mojom b/test/serialization/generated_serializer/include/libcamera/ipa/test.mojom
new file mode 100644
index 00000000..5f200885
--- /dev/null
+++ b/test/serialization/generated_serializer/include/libcamera/ipa/test.mojom
@@ -0,0 +1,33 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+module ipa.test;
+
+enum IPAOperationCode {
+ IPAOperationNone,
+ IPAOperationInit,
+ IPAOperationStart,
+ IPAOperationStop,
+};
+
+struct IPASettings {};
+
+struct TestStruct {
+ map<string, string> m;
+ array<string> a;
+ string s1;
+ string s2;
+ int32 i;
+ string s3;
+};
+
+interface IPATestInterface {
+ init(IPASettings settings) => (int32 ret);
+ start() => (int32 ret);
+ stop();
+
+ test(TestStruct s);
+};
+
+interface IPATestEventInterface {
+ dummyEvent(uint32 val);
+};