blob: c229caafa4eaa66a04831662cd0c735895e26ea6 [file] [log] [blame]
#include "libpldmresponder/bios.hpp"
#include "libpldmresponder/bios_table.hpp"
#include <libpldm/base.h>
#include <libpldm/bios.h>
#include <array>
#include <cstring>
#include <ctime>
#include <filesystem>
#include <gtest/gtest.h>
using namespace pldm;
using namespace pldm::responder;
using namespace pldm::responder::bios;
using namespace pldm::responder::utils;
TEST(epochToBCDTime, testTime)
{
struct tm time
{};
time.tm_year = 119;
time.tm_mon = 3;
time.tm_mday = 13;
time.tm_hour = 5;
time.tm_min = 18;
time.tm_sec = 13;
time.tm_isdst = -1;
time_t epochTime = mktime(&time);
uint8_t seconds = 0;
uint8_t minutes = 0;
uint8_t hours = 0;
uint8_t day = 0;
uint8_t month = 0;
uint16_t year = 0;
epochToBCDTime(epochTime, seconds, minutes, hours, day, month, year);
ASSERT_EQ(0x13, seconds);
ASSERT_EQ(0x18, minutes);
ASSERT_EQ(0x5, hours);
ASSERT_EQ(0x13, day);
ASSERT_EQ(0x4, month);
ASSERT_EQ(0x2019, year);
}
TEST(timeToEpoch, testTime0)
{
std::time_t ret = 1555132693;
uint8_t sec = 13;
uint8_t min = 18;
uint8_t hours = 5;
uint8_t day = 13;
uint8_t month = 4;
uint16_t year = 2019;
std::time_t timeSec = 0;
timeSec = timeToEpoch(sec, min, hours, day, month, year);
EXPECT_EQ(ret, timeSec);
}