From 53407be367f112649cae10ebd6152f9bfd62b79b Mon Sep 17 00:00:00 2001 From: Matt Spinler Date: Mon, 18 Nov 2019 09:16:31 -0600 Subject: PEL: Support UserData padding in the testcases Some testcase updates were missed when the fix was made to pad the UserData section to 4 byte boundaries as required by the spec. Signed-off-by: Matt Spinler Change-Id: I8129a70cfd740155ca05089563dfc5d7e63bdc81 --- test/openpower-pels/pel_test.cpp | 11 +++++++++-- test/openpower-pels/user_data_test.cpp | 4 ++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/test/openpower-pels/pel_test.cpp b/test/openpower-pels/pel_test.cpp index 9976c5c..afab5ca 100644 --- a/test/openpower-pels/pel_test.cpp +++ b/test/openpower-pels/pel_test.cpp @@ -265,9 +265,16 @@ TEST_F(PELTest, MakeUDSectionTest) const auto& d = ud->data(); std::string jsonString{d.begin(), d.end()}; - std::string expected = + + std::string expectedJSON = R"({"KEY1":"VALUE1","KEY2":"VALUE2","KEY3":"VALUE3"})"; - EXPECT_EQ(jsonString, expected); + + // The actual data is null padded to a 4B boundary. + std::vector expectedData; + expectedData.resize(52, '\0'); + memcpy(expectedData.data(), expectedJSON.data(), expectedJSON.size()); + + EXPECT_EQ(d, expectedData); // Ensure we can read this as JSON auto newJSON = nlohmann::json::parse(jsonString); diff --git a/test/openpower-pels/user_data_test.cpp b/test/openpower-pels/user_data_test.cpp index a350de9..a957a4d 100644 --- a/test/openpower-pels/user_data_test.cpp +++ b/test/openpower-pels/user_data_test.cpp @@ -89,13 +89,13 @@ TEST(UserDataTest, BadSizeFieldTest) TEST(UserDataTest, ConstructorTest) { - std::vector data{0x11, 0x22, 0x33, 0x44, 0x55, 0x66}; + std::vector data{0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88}; UserData ud(0x1112, 0x42, 0x01, data); EXPECT_TRUE(ud.valid()); EXPECT_EQ(ud.header().id, 0x5544); - EXPECT_EQ(ud.header().size, 14); + EXPECT_EQ(ud.header().size, 16); EXPECT_EQ(ud.header().version, 0x01); EXPECT_EQ(ud.header().subType, 0x42); EXPECT_EQ(ud.header().componentID, 0x1112); -- cgit v1.2.3