diff options
Diffstat (limited to 'test/serialization')
-rw-r--r-- | test/serialization/control_serialization.cpp | 2 | ||||
-rw-r--r-- | test/serialization/generated_serializer/generated_serializer_test.cpp | 27 | ||||
-rw-r--r-- | test/serialization/generated_serializer/include/libcamera/ipa/test.mojom | 10 | ||||
-rw-r--r-- | test/serialization/ipa_data_serializer_test.cpp | 6 | ||||
-rw-r--r-- | test/serialization/meson.build | 10 | ||||
-rw-r--r-- | test/serialization/serialization_test.cpp | 2 | ||||
-rw-r--r-- | test/serialization/serialization_test.h | 2 |
7 files changed, 45 insertions, 14 deletions
diff --git a/test/serialization/control_serialization.cpp b/test/serialization/control_serialization.cpp index a507d98a..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> diff --git a/test/serialization/generated_serializer/generated_serializer_test.cpp b/test/serialization/generated_serializer/generated_serializer_test.cpp index 698c81d6..4b11d67f 100644 --- a/test/serialization/generated_serializer/generated_serializer_test.cpp +++ b/test/serialization/generated_serializer/generated_serializer_test.cpp @@ -2,7 +2,7 @@ /* * Copyright (C) 2020, Google Inc. * - * generated_serializer_test.cpp - Test generated serializer + * Test generated serializer */ #include <algorithm> @@ -35,6 +35,13 @@ if (struct1.field != struct2.field) { \ return TestFail; \ } +#define TEST_SCOPED_ENUM_EQUALITY(struct1, struct2, field) \ +if (struct1.field != struct2.field) { \ + cerr << #field << " field incorrect" << endl; \ + return TestFail; \ +} + + ipa::test::TestStruct t, u; t.m = { @@ -51,6 +58,13 @@ if (struct1.field != struct2.field) { \ t.s2 = "goodbye"; t.s3 = "lorem ipsum"; t.i = 58527; + t.c = ipa::test::IPAOperationInit; + t.e = ipa::test::ErrorFlags::Error1; + + Flags<ipa::test::ErrorFlags> flags; + flags |= ipa::test::ErrorFlags::Error1; + flags |= ipa::test::ErrorFlags::Error2; + t.f = flags; std::vector<uint8_t> serialized; @@ -69,7 +83,10 @@ if (struct1.field != struct2.field) { \ TEST_FIELD_EQUALITY(t, u, s2); TEST_FIELD_EQUALITY(t, u, s3); TEST_FIELD_EQUALITY(t, u, i); + TEST_FIELD_EQUALITY(t, u, c); + TEST_SCOPED_ENUM_EQUALITY(t, u, e); + TEST_SCOPED_ENUM_EQUALITY(t, u, f); /* Test vector of generated structs */ std::vector<ipa::test::TestStruct> v = { t, u }; @@ -92,11 +109,19 @@ if (struct1.field != struct2.field) { \ TEST_FIELD_EQUALITY(v[0], w[0], s2); TEST_FIELD_EQUALITY(v[0], w[0], s3); TEST_FIELD_EQUALITY(v[0], w[0], i); + TEST_FIELD_EQUALITY(v[0], w[0], c); + + TEST_SCOPED_ENUM_EQUALITY(v[0], w[0], e); + TEST_SCOPED_ENUM_EQUALITY(v[0], w[0], f); TEST_FIELD_EQUALITY(v[1], w[1], s1); TEST_FIELD_EQUALITY(v[1], w[1], s2); TEST_FIELD_EQUALITY(v[1], w[1], s3); TEST_FIELD_EQUALITY(v[1], w[1], i); + TEST_FIELD_EQUALITY(v[1], w[1], c); + + TEST_SCOPED_ENUM_EQUALITY(v[1], w[1], e); + TEST_SCOPED_ENUM_EQUALITY(v[1], w[1], f); return TestPass; } diff --git a/test/serialization/generated_serializer/include/libcamera/ipa/test.mojom b/test/serialization/generated_serializer/include/libcamera/ipa/test.mojom index 5f200885..91c31642 100644 --- a/test/serialization/generated_serializer/include/libcamera/ipa/test.mojom +++ b/test/serialization/generated_serializer/include/libcamera/ipa/test.mojom @@ -9,6 +9,13 @@ enum IPAOperationCode { IPAOperationStop, }; +[scopedEnum] enum ErrorFlags { + Error1 = 0x1, + Error2 = 0x2, + Error3 = 0x4, + Error4 = 0x8, +}; + struct IPASettings {}; struct TestStruct { @@ -18,6 +25,9 @@ struct TestStruct { string s2; int32 i; string s3; + IPAOperationCode c; + ErrorFlags e; + [flags] ErrorFlags f; }; interface IPATestInterface { diff --git a/test/serialization/ipa_data_serializer_test.cpp b/test/serialization/ipa_data_serializer_test.cpp index d2050a86..aea63c73 100644 --- a/test/serialization/ipa_data_serializer_test.cpp +++ b/test/serialization/ipa_data_serializer_test.cpp @@ -2,7 +2,7 @@ /* * Copyright (C) 2020, Google Inc. * - * ipa_data_serializer_test.cpp - Test serializing/deserializing with IPADataSerializer + * Test serializing/deserializing with IPADataSerializer */ #include <algorithm> @@ -20,11 +20,7 @@ #include <libcamera/base/thread.h> #include <libcamera/base/timer.h> -#include "libcamera/internal/device_enumerator.h" #include "libcamera/internal/ipa_data_serializer.h" -#include "libcamera/internal/ipa_manager.h" -#include "libcamera/internal/ipa_module.h" -#include "libcamera/internal/pipeline_handler.h" #include "serialization_test.h" #include "test.h" diff --git a/test/serialization/meson.build b/test/serialization/meson.build index 26e42b15..a6e8d793 100644 --- a/test/serialization/meson.build +++ b/test/serialization/meson.build @@ -3,14 +3,14 @@ subdir('generated_serializer') serialization_tests = [ - ['control_serialization', 'control_serialization.cpp'], - ['ipa_data_serializer_test', 'ipa_data_serializer_test.cpp'], + {'name': 'control_serialization', 'sources': ['control_serialization.cpp']}, + {'name': 'ipa_data_serializer_test', 'sources': ['ipa_data_serializer_test.cpp']}, ] -foreach t : serialization_tests - exe = executable(t[0], [t[1], 'serialization_test.cpp'], +foreach test : serialization_tests + exe = executable(test['name'], test['sources'], 'serialization_test.cpp', dependencies : libcamera_private, link_with : test_libraries, include_directories : test_includes_internal) - test(t[0], exe, suite : 'serialization', is_parallel : false) + test(test['name'], exe, suite : 'serialization', is_parallel : false) endforeach diff --git a/test/serialization/serialization_test.cpp b/test/serialization/serialization_test.cpp index 11d0f0f3..af9969fd 100644 --- a/test/serialization/serialization_test.cpp +++ b/test/serialization/serialization_test.cpp @@ -2,7 +2,7 @@ /* * Copyright (C) 2019, Google Inc. * - * serialization_test.cpp - Base class for serialization tests + * Base class for serialization tests */ #include "serialization_test.h" diff --git a/test/serialization/serialization_test.h b/test/serialization/serialization_test.h index 609f9fdf..760e3721 100644 --- a/test/serialization/serialization_test.h +++ b/test/serialization/serialization_test.h @@ -2,7 +2,7 @@ /* * Copyright (C) 2019, Google Inc. * - * serialization_test.h - Base class for serialization tests + * Base class for serialization tests */ #pragma once |