From patchwork Wed Aug 3 11:21:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Elder X-Patchwork-Id: 16942 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 23CF5BE173 for ; Wed, 3 Aug 2022 11:22:14 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id CE0DC6331D; Wed, 3 Aug 2022 13:22:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1659525733; bh=ppvRxNSi6zVgm/ZHFWO7Xq51kRH3h4p+Ge2C+Wqu1UQ=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=mCwEQsjVm0vb0+U8WXIHPAF/YLg/Dn688bzCtWM6YyYEDfXrY0QApjv7mafxViguU gm8/oR4iBHeBKD3UX11bFLXHckV5oscJ8/paxen3I6yeZKBFmtB+ZB1yqa5/4kdGG9 pH31QY48nOJ10ymoEpEQy0NXrh3pvb3beCnbbh2tgdMAmVc3Cz3074A4sNXyfjATUo p+iQEAFz4x7dlY7e+ZYK04GUkJnJvDUMvU0JNdTZSkDHrFWLFcS+EAJkVHtsqLsdrW dL5iZrCTRLPB4QlkmPpVpUw+oyxQxqV+WdnlYGFWGH7+v9bH/naaH77/MxwsW/hNyW AAdfqADD5LKdw== Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 452F66331A for ; Wed, 3 Aug 2022 13:22:11 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="RKHO4S2q"; dkim-atps=neutral Received: from pyrite.rasen.tech (h175-177-042-159.catv02.itscom.jp [175.177.42.159]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 177B48B; Wed, 3 Aug 2022 13:22:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1659525731; bh=ppvRxNSi6zVgm/ZHFWO7Xq51kRH3h4p+Ge2C+Wqu1UQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RKHO4S2qIzvm2xNCnkMvqhSmAI61sNgpudmQp+oOONjc0kT/1uWCmMWq2NHWwkLP5 VkCmbVvBpKUtB4sj5z8fcOT2EsqInQ2geO9rwPYSetRXMyNL2zxIP3QEzWzy2Ecb2l 4Y7Vf6S/gb47i7VhviRjdeCs3hoDasSptKwe1CM4= To: libcamera-devel@lists.libcamera.org Date: Wed, 3 Aug 2022 20:21:48 +0900 Message-Id: <20220803112150.3040287-8-paul.elder@ideasonboard.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220803112150.3040287-1-paul.elder@ideasonboard.com> References: <20220803112150.3040287-1-paul.elder@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH 7/9] test: generated_serializer: Test Flags that is struct member X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Paul Elder via libcamera-devel From: Paul Elder Reply-To: Paul Elder Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Add a Flags field to the test struct to test serialization/deserialization of Flags that are struct members. Signed-off-by: Paul Elder --- .../generated_serializer_test.cpp | 19 +++++++++++++++++++ .../include/libcamera/ipa/test.mojom | 8 ++++++++ 2 files changed, 27 insertions(+) diff --git a/test/serialization/generated_serializer/generated_serializer_test.cpp b/test/serialization/generated_serializer/generated_serializer_test.cpp index a4639a80..a2d71d62 100644 --- a/test/serialization/generated_serializer/generated_serializer_test.cpp +++ b/test/serialization/generated_serializer/generated_serializer_test.cpp @@ -53,6 +53,11 @@ if (struct1.field != struct2.field) { \ t.i = 58527; t.c = ipa::test::IPAOperationInit; + Flags flags; + flags |= ipa::test::ErrorFlags::Error1; + flags |= ipa::test::ErrorFlags::Error2; + t.f = flags; + std::vector serialized; std::tie(serialized, ignore) = @@ -72,6 +77,10 @@ if (struct1.field != struct2.field) { \ TEST_FIELD_EQUALITY(t, u, i); TEST_FIELD_EQUALITY(t, u, c); + if (t.f != u.f) { + cerr << "Flags f field incorrect" << endl; + return TestFail; + } /* Test vector of generated structs */ std::vector v = { t, u }; @@ -96,12 +105,22 @@ if (struct1.field != struct2.field) { \ TEST_FIELD_EQUALITY(v[0], w[0], i); TEST_FIELD_EQUALITY(v[0], w[0], c); + if (v[0].f != w[0].f) { + cerr << "Flags f field incorrect" << endl; + return TestFail; + } + 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); + if (v[1].f != w[1].f) { + cerr << "Flags f field incorrect" << endl; + return TestFail; + } + 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 73081b40..5954672b 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, }; +enum Flags_ErrorFlags_t { + Error1 = 0x1, + Error2 = 0x2, + Error3 = 0x4, + Error4 = 0x8, +}; + struct IPASettings {}; struct TestStruct { @@ -19,6 +26,7 @@ struct TestStruct { int32 i; string s3; IPAOperationCode c; + Flags_ErrorFlags_t f; }; interface IPATestInterface {