diff options
author | Paul Elder <paul.elder@ideasonboard.com> | 2020-12-05 19:31:06 +0900 |
---|---|---|
committer | Paul Elder <paul.elder@ideasonboard.com> | 2021-03-02 19:27:35 +0900 |
commit | 817a4b4472039251944cba131b25f75cc067f9b1 (patch) | |
tree | 21af1e53705f0fc8c17123507d58e80482b0f6fc /test/serialization/generated_serializer/include | |
parent | f70d5b14d611e2d2942a2fc8813669f604377303 (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.build | 40 | ||||
-rw-r--r-- | test/serialization/generated_serializer/include/libcamera/ipa/test.mojom | 33 |
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); +}; |