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>
This commit is contained in:
Paul Elder
2020-12-05 19:31:06 +09:00
parent f70d5b14d6
commit 817a4b4472
5 changed files with 250 additions and 0 deletions
@@ -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@'
])
@@ -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);
};