xref: /openbmc/phosphor-pid-control/test/util_unittest.cpp (revision f8b6e55147148c3cfb42327ff267197a460b411c)
1 #include "sensors/build_utils.hpp"
2 
3 #include <string>
4 
5 #include <gtest/gtest.h>
6 
7 namespace pid_control
8 {
9 namespace
10 {
11 
TEST(UtilTest,WriteTypeEmptyString_ReturnsNONE)12 TEST(UtilTest, WriteTypeEmptyString_ReturnsNONE)
13 {
14     // Verify it responds to an empty string.
15 
16     EXPECT_EQ(IOInterfaceType::NONE, getWriteInterfaceType(""));
17 }
18 
TEST(UtilTest,WriteTypeNonePath_ReturnsNONE)19 TEST(UtilTest, WriteTypeNonePath_ReturnsNONE)
20 {
21     // Verify it responds to a path of "None"
22 
23     EXPECT_EQ(IOInterfaceType::NONE, getWriteInterfaceType("None"));
24 }
25 
TEST(UtilTest,WriteTypeSysfs_ReturnsSYSFS)26 TEST(UtilTest, WriteTypeSysfs_ReturnsSYSFS)
27 {
28     // Verify the sysfs type is determined with an expected path
29 
30     std::string path = "/sys/devices/asfdadsf";
31     EXPECT_EQ(IOInterfaceType::SYSFS, getWriteInterfaceType(path));
32 }
33 
TEST(UtilTest,WriteTypeUnknown_ReturnsUNKNOWN)34 TEST(UtilTest, WriteTypeUnknown_ReturnsUNKNOWN)
35 {
36     // Verify it reports unknown by default.
37 
38     std::string path = "/xyz/openbmc_project";
39     EXPECT_EQ(IOInterfaceType::UNKNOWN, getWriteInterfaceType(path));
40 }
41 
TEST(UtilTest,ReadTypeEmptyString_ReturnsNONE)42 TEST(UtilTest, ReadTypeEmptyString_ReturnsNONE)
43 {
44     // Verify it responds to an empty string.
45 
46     EXPECT_EQ(IOInterfaceType::NONE, getReadInterfaceType(""));
47 }
48 
TEST(UtilTest,ReadTypeNonePath_ReturnsNONE)49 TEST(UtilTest, ReadTypeNonePath_ReturnsNONE)
50 {
51     // Verify it responds to a path of "None"
52 
53     EXPECT_EQ(IOInterfaceType::NONE, getReadInterfaceType("None"));
54 }
55 
TEST(UtilTest,ReadTypeExternalSensors_ReturnsEXTERNAL)56 TEST(UtilTest, ReadTypeExternalSensors_ReturnsEXTERNAL)
57 {
58     // Verify it responds to a path that represents a host sensor.
59 
60     std::string path = "/xyz/openbmc_project/extsensors/temperature/fleeting0";
61     EXPECT_EQ(IOInterfaceType::EXTERNAL, getReadInterfaceType(path));
62 }
63 
TEST(UtilTest,ReadTypeOpenBMCSensor_ReturnsDBUSPASSIVE)64 TEST(UtilTest, ReadTypeOpenBMCSensor_ReturnsDBUSPASSIVE)
65 {
66     // Verify it responds to a path that represents a dbus sensor.
67 
68     std::string path = "/xyz/openbmc_project/sensors/fan_tach/fan1";
69     EXPECT_EQ(IOInterfaceType::DBUSPASSIVE, getReadInterfaceType(path));
70 }
71 
TEST(UtilTest,ReadTypeSysfsPath_ReturnsSYSFS)72 TEST(UtilTest, ReadTypeSysfsPath_ReturnsSYSFS)
73 {
74     // Verify the sysfs type is determined with an expected path
75 
76     std::string path = "/sys/devices/asdf/asdf0";
77     EXPECT_EQ(IOInterfaceType::SYSFS, getReadInterfaceType(path));
78 }
79 
TEST(UtilTest,ReadTypeUnknownDefault_ReturnsUNKNOWN)80 TEST(UtilTest, ReadTypeUnknownDefault_ReturnsUNKNOWN)
81 {
82     // Verify it reports unknown by default.
83 
84     std::string path = "asdf09as0df9a0fd";
85     EXPECT_EQ(IOInterfaceType::UNKNOWN, getReadInterfaceType(path));
86 }
87 
88 } // namespace
89 } // namespace pid_control
90