blob: 457c47061ac3c720956e5a76b208e36548f4ac83 [file] [log] [blame]
#include "sensors/build_utils.hpp"
#include <string>
#include <gmock/gmock.h>
#include <gtest/gtest.h>
namespace pid_control
{
namespace
{
TEST(UtilTest, WriteTypeEmptyString_ReturnsNONE)
{
// Verify it responds to an empty string.
EXPECT_EQ(IOInterfaceType::NONE, getWriteInterfaceType(""));
}
TEST(UtilTest, WriteTypeNonePath_ReturnsNONE)
{
// Verify it responds to a path of "None"
EXPECT_EQ(IOInterfaceType::NONE, getWriteInterfaceType("None"));
}
TEST(UtilTest, WriteTypeSysfs_ReturnsSYSFS)
{
// Verify the sysfs type is determined with an expected path
std::string path = "/sys/devices/asfdadsf";
EXPECT_EQ(IOInterfaceType::SYSFS, getWriteInterfaceType(path));
}
TEST(UtilTest, WriteTypeUnknown_ReturnsUNKNOWN)
{
// Verify it reports unknown by default.
std::string path = "/xyz/openbmc_project";
EXPECT_EQ(IOInterfaceType::UNKNOWN, getWriteInterfaceType(path));
}
TEST(UtilTest, ReadTypeEmptyString_ReturnsNONE)
{
// Verify it responds to an empty string.
EXPECT_EQ(IOInterfaceType::NONE, getReadInterfaceType(""));
}
TEST(UtilTest, ReadTypeNonePath_ReturnsNONE)
{
// Verify it responds to a path of "None"
EXPECT_EQ(IOInterfaceType::NONE, getReadInterfaceType("None"));
}
TEST(UtilTest, ReadTypeExternalSensors_ReturnsEXTERNAL)
{
// Verify it responds to a path that represents a host sensor.
std::string path = "/xyz/openbmc_project/extsensors/temperature/fleeting0";
EXPECT_EQ(IOInterfaceType::EXTERNAL, getReadInterfaceType(path));
}
TEST(UtilTest, ReadTypeOpenBMCSensor_ReturnsDBUSPASSIVE)
{
// Verify it responds to a path that represents a dbus sensor.
std::string path = "/xyz/openbmc_project/sensors/fan_tach/fan1";
EXPECT_EQ(IOInterfaceType::DBUSPASSIVE, getReadInterfaceType(path));
}
TEST(UtilTest, ReadTypeSysfsPath_ReturnsSYSFS)
{
// Verify the sysfs type is determined with an expected path
std::string path = "/sys/devices/asdf/asdf0";
EXPECT_EQ(IOInterfaceType::SYSFS, getReadInterfaceType(path));
}
TEST(UtilTest, ReadTypeUnknownDefault_ReturnsUNKNOWN)
{
// Verify it reports unknown by default.
std::string path = "asdf09as0df9a0fd";
EXPECT_EQ(IOInterfaceType::UNKNOWN, getReadInterfaceType(path));
}
} // namespace
} // namespace pid_control