1 #include "powercap.hpp" 2 #include "utils.hpp" 3 4 #include <occ_events.hpp> 5 #include <occ_manager.hpp> 6 7 #include <filesystem> 8 9 #include <gtest/gtest.h> 10 11 using namespace open_power::occ; 12 using namespace open_power::occ::utils; 13 14 class VerifyOccInput : public ::testing::Test 15 { 16 public: 17 VerifyOccInput() : 18 rc(sd_event_default(&event)), eventP(event), manager(eventP), 19 occStatus(eventP, "/test/path/occ1", manager), pcap(occStatus) 20 { 21 EXPECT_GE(rc, 0); 22 event = nullptr; 23 } 24 ~VerifyOccInput() 25 {} 26 27 sd_event* event; 28 int rc; 29 open_power::occ::EventPtr eventP; 30 31 Manager manager; 32 Status occStatus; 33 powercap::PowerCap pcap; 34 }; 35 36 TEST_F(VerifyOccInput, PcapDisabled) 37 { 38 uint32_t occInput = pcap.getOccInput(100, false); 39 EXPECT_EQ(occInput, 0); 40 } 41 42 TEST_F(VerifyOccInput, PcapEnabled) 43 { 44 uint32_t occInput = pcap.getOccInput(100, true); 45 EXPECT_EQ(occInput, 90); 46 } 47 48 TEST(VerifyPathParsing, EmptyPath) 49 { 50 std::filesystem::path path = ""; 51 std::string parsed = Device::getPathBack(path); 52 53 EXPECT_STREQ(parsed.c_str(), ""); 54 } 55 56 TEST(VerifyPathParsing, FilenamePath) 57 { 58 std::filesystem::path path = "/test/foo.bar"; 59 std::string parsed = Device::getPathBack(path); 60 61 EXPECT_STREQ(parsed.c_str(), "foo.bar"); 62 } 63 64 TEST(VerifyPathParsing, DirectoryPath) 65 { 66 std::filesystem::path path = "/test/bar/"; 67 std::string parsed = Device::getPathBack(path); 68 69 EXPECT_STREQ(parsed.c_str(), "bar"); 70 } 71