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