Sampa Misra | 032bd50 | 2019-03-06 05:03:22 -0600 | [diff] [blame] | 1 | #include "libpldmresponder/bios.hpp" |
Sampa Misra | b37be31 | 2019-07-03 02:26:41 -0500 | [diff] [blame] | 2 | #include "libpldmresponder/bios_table.hpp" |
Sampa Misra | 032bd50 | 2019-03-06 05:03:22 -0600 | [diff] [blame] | 3 | |
George Liu | c453e16 | 2022-12-21 17:16:23 +0800 | [diff] [blame] | 4 | #include <libpldm/base.h> |
| 5 | #include <libpldm/bios.h> |
Sampa Misra | 032bd50 | 2019-03-06 05:03:22 -0600 | [diff] [blame] | 6 | #include <string.h> |
| 7 | |
| 8 | #include <array> |
John Wang | 0270040 | 2019-10-06 16:34:29 +0800 | [diff] [blame] | 9 | #include <cstring> |
Sampa Misra | 032bd50 | 2019-03-06 05:03:22 -0600 | [diff] [blame] | 10 | #include <ctime> |
Sampa Misra | b37be31 | 2019-07-03 02:26:41 -0500 | [diff] [blame] | 11 | #include <filesystem> |
Sampa Misra | 032bd50 | 2019-03-06 05:03:22 -0600 | [diff] [blame] | 12 | |
Sampa Misra | 032bd50 | 2019-03-06 05:03:22 -0600 | [diff] [blame] | 13 | #include <gtest/gtest.h> |
| 14 | |
Sampa Misra | b37be31 | 2019-07-03 02:26:41 -0500 | [diff] [blame] | 15 | using namespace pldm; |
Sampa Misra | 032bd50 | 2019-03-06 05:03:22 -0600 | [diff] [blame] | 16 | using namespace pldm::responder; |
Sampa Misra | b37be31 | 2019-07-03 02:26:41 -0500 | [diff] [blame] | 17 | using namespace pldm::responder::bios; |
Sampa Misra | 032bd50 | 2019-03-06 05:03:22 -0600 | [diff] [blame] | 18 | using namespace pldm::responder::utils; |
| 19 | |
| 20 | TEST(epochToBCDTime, testTime) |
| 21 | { |
| 22 | struct tm time |
George Liu | 6492f52 | 2020-06-16 10:34:05 +0800 | [diff] [blame] | 23 | {}; |
Sampa Misra | 032bd50 | 2019-03-06 05:03:22 -0600 | [diff] [blame] | 24 | time.tm_year = 119; |
| 25 | time.tm_mon = 3; |
| 26 | time.tm_mday = 13; |
| 27 | time.tm_hour = 5; |
| 28 | time.tm_min = 18; |
| 29 | time.tm_sec = 13; |
| 30 | time.tm_isdst = -1; |
| 31 | |
| 32 | time_t epochTime = mktime(&time); |
| 33 | uint8_t seconds = 0; |
| 34 | uint8_t minutes = 0; |
| 35 | uint8_t hours = 0; |
| 36 | uint8_t day = 0; |
| 37 | uint8_t month = 0; |
| 38 | uint16_t year = 0; |
| 39 | |
| 40 | epochToBCDTime(epochTime, seconds, minutes, hours, day, month, year); |
| 41 | |
| 42 | ASSERT_EQ(0x13, seconds); |
| 43 | ASSERT_EQ(0x18, minutes); |
| 44 | ASSERT_EQ(0x5, hours); |
| 45 | ASSERT_EQ(0x13, day); |
| 46 | ASSERT_EQ(0x4, month); |
| 47 | ASSERT_EQ(0x2019, year); |
| 48 | } |
Tom Joseph | 52552ef | 2019-06-20 09:50:15 +0530 | [diff] [blame] | 49 | |
Xiaochao Ma | 60227a0 | 2019-12-04 09:00:12 +0800 | [diff] [blame] | 50 | TEST(timeToEpoch, testTime0) |
| 51 | { |
| 52 | std::time_t ret = 1555132693; |
| 53 | |
| 54 | uint8_t sec = 13; |
| 55 | uint8_t min = 18; |
| 56 | uint8_t hours = 5; |
| 57 | uint8_t day = 13; |
| 58 | uint8_t month = 4; |
| 59 | uint16_t year = 2019; |
| 60 | |
| 61 | std::time_t timeSec = 0; |
| 62 | timeSec = timeToEpoch(sec, min, hours, day, month, year); |
| 63 | |
| 64 | EXPECT_EQ(ret, timeSec); |
Patrick Williams | 6da4f91 | 2023-05-10 07:50:53 -0500 | [diff] [blame] | 65 | } |