diff options
author | Matt Spinler <spinler@us.ibm.com> | 2019-07-10 10:32:06 -0500 |
---|---|---|
committer | Matt Spinler <spinler@us.ibm.com> | 2019-07-26 13:02:35 -0500 |
commit | 1b5c72b57c67a5dac581061ea92f7234500b68f0 (patch) | |
tree | afc7fcf74ccf8aaeb1925951a0ca131ed11681d8 /test/openpower-pels | |
parent | df797f2b865c79f4bdb2a0889bc32cc681eecaa8 (diff) | |
download | phosphor-logging-1b5c72b57c67a5dac581061ea92f7234500b68f0.tar.gz phosphor-logging-1b5c72b57c67a5dac581061ea92f7234500b68f0.zip |
PEL: Add PEL section header structure
A PEL is made up of sections, and every section has an 8B
section header. This commit adds a SectionHeader structure
that will represent that header. It will then be included in
all upcoming PEL sections.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ia5356560f49707e21aebca28f4a0b525aa24158d
Diffstat (limited to 'test/openpower-pels')
-rw-r--r-- | test/openpower-pels/Makefile.include | 10 | ||||
-rw-r--r-- | test/openpower-pels/section_header_test.cpp | 40 |
2 files changed, 49 insertions, 1 deletions
diff --git a/test/openpower-pels/Makefile.include b/test/openpower-pels/Makefile.include index a68b229..07e596d 100644 --- a/test/openpower-pels/Makefile.include +++ b/test/openpower-pels/Makefile.include @@ -3,6 +3,7 @@ TESTS += $(check_PROGRAMS) check_PROGRAMS += \ additional_data_test \ bcd_time_test \ + section_header_test \ stream_test additional_data_test_SOURCES = %reldir%/additional_data_test.cpp @@ -24,4 +25,11 @@ bcd_time_test_CXXFLAGS = $(test_cxxflags) bcd_time_test_LDADD = \ $(test_ldadd) \ $(top_builddir)/extensions/openpower-pels/bcd_time.o -bcd_time_test_LDFLAGS = $(test_ldflags)
\ No newline at end of file +bcd_time_test_LDFLAGS = $(test_ldflags) + +section_header_test_SOURCES = \ + %reldir%/section_header_test.cpp +section_header_test_CPPFLAGS = $(test_cppflags) +section_header_test_CXXFLAGS = $(test_cxxflags) +section_header_test_LDADD = $(test_ldadd) +section_header_test_LDFLAGS = $(test_ldflags)
\ No newline at end of file diff --git a/test/openpower-pels/section_header_test.cpp b/test/openpower-pels/section_header_test.cpp new file mode 100644 index 0000000..2d5827c --- /dev/null +++ b/test/openpower-pels/section_header_test.cpp @@ -0,0 +1,40 @@ + +#include "extensions/openpower-pels/section_header.hpp" + +#include <gtest/gtest.h> + +using namespace openpower::pels; + +TEST(SectionHeaderTest, SizeTest) +{ + EXPECT_EQ(SectionHeader::flattenedSize(), 8); +} + +TEST(SectionHeaderTest, UnflattenTest) +{ + std::vector<uint8_t> data{0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88}; + Stream reader{data}; + SectionHeader header; + + reader >> header; + + EXPECT_EQ(header.id, 0x1122); + EXPECT_EQ(header.size, 0x3344); + EXPECT_EQ(header.version, 0x55); + EXPECT_EQ(header.subType, 0x66); + EXPECT_EQ(header.componentID, 0x7788); +} + +TEST(SectionHeaderTest, FlattenTest) +{ + SectionHeader header{0xAABB, 0xCCDD, 0xEE, 0xFF, 0xA0A0}; + + std::vector<uint8_t> data; + Stream writer{data}; + + writer << header; + + std::vector<uint8_t> expected{0xAA, 0xBB, 0xCC, 0xDD, + 0xEE, 0xFF, 0xA0, 0xA0}; + EXPECT_EQ(data, expected); +} |