diff options
author | Matt Spinler <spinler@us.ibm.com> | 2019-10-08 13:55:17 -0500 |
---|---|---|
committer | Matt Spinler <spinler@us.ibm.com> | 2019-10-22 14:09:56 +0000 |
commit | 4b59f7ad8462bea683ac93048395e5e9f41d40e5 (patch) | |
tree | 9c0af2749a534a7cbdab8cb6ceeea3e4e55405bc | |
parent | a906c940ef1ebb78d8ae876ec90777aa447a3a76 (diff) | |
download | phosphor-logging-4b59f7ad8462bea683ac93048395e5e9f41d40e5.tar.gz phosphor-logging-4b59f7ad8462bea683ac93048395e5e9f41d40e5.zip |
PEL: Add string accessors to MTMS class
This class is used by a few other classes, so make it easier to get
data out of it.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I2feb4b83a09e6cb6056c9f1a903ca55e8cacf2ae
-rw-r--r-- | extensions/openpower-pels/failing_mtms.cpp | 25 | ||||
-rw-r--r-- | extensions/openpower-pels/failing_mtms.hpp | 10 | ||||
-rw-r--r-- | extensions/openpower-pels/mtms.cpp | 8 | ||||
-rw-r--r-- | extensions/openpower-pels/mtms.hpp | 43 | ||||
-rw-r--r-- | test/openpower-pels/mtms_test.cpp | 30 |
5 files changed, 65 insertions, 51 deletions
diff --git a/extensions/openpower-pels/failing_mtms.cpp b/extensions/openpower-pels/failing_mtms.cpp index 0b02f2d..1b15c16 100644 --- a/extensions/openpower-pels/failing_mtms.cpp +++ b/extensions/openpower-pels/failing_mtms.cpp @@ -58,31 +58,6 @@ void FailingMTMS::validate() _valid = (failed) ? false : true; } -std::string FailingMTMS::getMachineTypeModel() -{ - std::string mtmString; - const auto& mtm = _mtms.machineTypeAndModel(); - - for (size_t i = 0; (i < MTMS::mtmSize) && (mtm[i] != 0); i++) - { - mtmString.push_back(mtm[i]); - } - return mtmString; -} - -std::string FailingMTMS::getMachineSerialNumber() -{ - std::string snString; - const auto& sn = _mtms.machineSerialNumber(); - - // Get everything up to the 0s. - for (size_t i = 0; (i < MTMS::snSize) && (sn[i] != 0); i++) - { - snString.push_back(sn[i]); - } - return snString; -} - void FailingMTMS::flatten(Stream& stream) { stream << _header << _mtms; diff --git a/extensions/openpower-pels/failing_mtms.hpp b/extensions/openpower-pels/failing_mtms.hpp index 209eaa9..bbf0b2a 100644 --- a/extensions/openpower-pels/failing_mtms.hpp +++ b/extensions/openpower-pels/failing_mtms.hpp @@ -66,14 +66,20 @@ class FailingMTMS : public Section * * @return std::string the MTM */ - std::string getMachineTypeModel(); + std::string getMachineTypeModel() const + { + return _mtms.machineTypeAndModel(); + } /** * @brief Returns the machine serial number as a string * * @return std::string the serial number */ - std::string getMachineSerialNumber(); + std::string getMachineSerialNumber() const + { + return _mtms.machineSerialNumber(); + } private: /** diff --git a/extensions/openpower-pels/mtms.cpp b/extensions/openpower-pels/mtms.cpp index 355431f..ec964f2 100644 --- a/extensions/openpower-pels/mtms.cpp +++ b/extensions/openpower-pels/mtms.cpp @@ -51,12 +51,12 @@ Stream& operator<<(Stream& s, MTMS& mtms) { for (size_t i = 0; i < MTMS::mtmSize; i++) { - s << mtms.machineTypeAndModel()[i]; + s << mtms.machineTypeAndModelRaw()[i]; } for (size_t i = 0; i < MTMS::snSize; i++) { - s << mtms.machineSerialNumber()[i]; + s << mtms.machineSerialNumberRaw()[i]; } return s; @@ -66,12 +66,12 @@ Stream& operator>>(Stream& s, MTMS& mtms) { for (size_t i = 0; i < MTMS::mtmSize; i++) { - s >> mtms.machineTypeAndModel()[i]; + s >> mtms.machineTypeAndModelRaw()[i]; } for (size_t i = 0; i < MTMS::snSize; i++) { - s >> mtms.machineSerialNumber()[i]; + s >> mtms.machineSerialNumberRaw()[i]; } return s; diff --git a/extensions/openpower-pels/mtms.hpp b/extensions/openpower-pels/mtms.hpp index fe8723d..6b76ec7 100644 --- a/extensions/openpower-pels/mtms.hpp +++ b/extensions/openpower-pels/mtms.hpp @@ -59,26 +59,61 @@ class MTMS explicit MTMS(Stream& stream); /** - * @brief Returns the machine type/model value + * @brief Returns the raw machine type/model value * * @return std::array<uint8_t, mtmSize>& - The TM value */ - std::array<uint8_t, mtmSize>& machineTypeAndModel() + std::array<uint8_t, mtmSize>& machineTypeAndModelRaw() { return _machineTypeAndModel; } /** - * @brief Returns the machine serial number value + * @brief Returns the machine type/model value + * + * @return std::string - The TM value + */ + std::string machineTypeAndModel() const + { + std::string mtm; + + // Get everything up to the 0s. + for (size_t i = 0; (i < mtmSize) && (_machineTypeAndModel[i] != 0); i++) + { + mtm.push_back(_machineTypeAndModel[i]); + } + + return mtm; + } + + /** + * @brief Returns the raw machine serial number value * * @return std::array<uint8_t, snSize>& - The SN value */ - std::array<uint8_t, snSize>& machineSerialNumber() + std::array<uint8_t, snSize>& machineSerialNumberRaw() { return _serialNumber; } /** + * @brief Returns the machine serial number value + * + * @return std::string - The SN value + */ + std::string machineSerialNumber() const + { + std::string sn; + + // Get everything up to the 0s. + for (size_t i = 0; (i < snSize) && (_serialNumber[i] != 0); i++) + { + sn.push_back(_serialNumber[i]); + } + return sn; + } + + /** * @brief Returns the size of the data when flattened * * @return size_t - The size of the data diff --git a/test/openpower-pels/mtms_test.cpp b/test/openpower-pels/mtms_test.cpp index 999100f..2290374 100644 --- a/test/openpower-pels/mtms_test.cpp +++ b/test/openpower-pels/mtms_test.cpp @@ -18,11 +18,13 @@ TEST(MTMSTest, ConstructorTest) MTMS mtms{tm, sn}; std::array<uint8_t, 8> t{'T', 'T', 'T', 'T', '-', 'M', 'M', 'M'}; - EXPECT_EQ(t, mtms.machineTypeAndModel()); + EXPECT_EQ(t, mtms.machineTypeAndModelRaw()); + EXPECT_EQ("TTTT-MMM", mtms.machineTypeAndModel()); std::array<uint8_t, 12> s{'1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C'}; - EXPECT_EQ(s, mtms.machineSerialNumber()); + EXPECT_EQ(s, mtms.machineSerialNumberRaw()); + EXPECT_EQ("123456789ABC", mtms.machineSerialNumber()); } { @@ -33,11 +35,11 @@ TEST(MTMSTest, ConstructorTest) MTMS mtms{tm, sn}; std::array<uint8_t, 8> t{'T', 'T', 'T', 'T', '-', 'M', 'M', 'M'}; - EXPECT_EQ(t, mtms.machineTypeAndModel()); + EXPECT_EQ(t, mtms.machineTypeAndModelRaw()); std::array<uint8_t, 12> s{'1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C'}; - EXPECT_EQ(s, mtms.machineSerialNumber()); + EXPECT_EQ(s, mtms.machineSerialNumberRaw()); } { @@ -48,10 +50,12 @@ TEST(MTMSTest, ConstructorTest) MTMS mtms{tm, sn}; std::array<uint8_t, 8> t{'T', 'T', 'T', 'T', 0, 0, 0, 0}; - EXPECT_EQ(t, mtms.machineTypeAndModel()); + EXPECT_EQ(t, mtms.machineTypeAndModelRaw()); + EXPECT_EQ("TTTT", mtms.machineTypeAndModel()); std::array<uint8_t, 12> s{'1', '2', '3', '4', 0, 0, 0, 0, 0, 0, 0, 0}; - EXPECT_EQ(s, mtms.machineSerialNumber()); + EXPECT_EQ(s, mtms.machineSerialNumberRaw()); + EXPECT_EQ("1234", mtms.machineSerialNumber()); } { @@ -63,12 +67,9 @@ TEST(MTMSTest, ConstructorTest) MTMS mtms{stream}; - std::array<uint8_t, 8> t{'T', 'T', 'T', 'T', '-', 'M', 'M', 'M'}; - EXPECT_EQ(t, mtms.machineTypeAndModel()); + EXPECT_EQ("TTTT-MMM", mtms.machineTypeAndModel()); - std::array<uint8_t, 12> s{'1', '2', '3', '4', '5', '6', - '7', '8', '9', 'A', 'B', 'C'}; - EXPECT_EQ(s, mtms.machineSerialNumber()); + EXPECT_EQ("123456789ABC", mtms.machineSerialNumber()); } } @@ -100,10 +101,7 @@ TEST(MTMSTest, OperatorInsertTest) MTMS mtms; stream >> mtms; - std::array<uint8_t, 8> t{'T', 'T', 'T', 'T', '-', 'M', 'M', 'M'}; - EXPECT_EQ(t, mtms.machineTypeAndModel()); + EXPECT_EQ("TTTT-MMM", mtms.machineTypeAndModel()); - std::array<uint8_t, 12> s{'1', '2', '3', '4', '5', '6', - '7', '8', '9', 'A', 'B', 'C'}; - EXPECT_EQ(s, mtms.machineSerialNumber()); + EXPECT_EQ("123456789ABC", mtms.machineSerialNumber()); } |