Add test cases to validate state of physical LED
This commit adds code that verifies the state of
physical LED is appropriately set in various cases
Change-Id: I9eab752f6f2b47e719934c14ef95e775d36bcaa0
Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
diff --git a/physical.cpp b/physical.cpp
index d15cfcd..2be9e14 100644
--- a/physical.cpp
+++ b/physical.cpp
@@ -57,6 +57,11 @@
return;
}
+auto Physical::state() const -> Action
+{
+ return sdbusplus::xyz::openbmc_project::Led::server::Physical::state();
+}
+
auto Physical::state(Action value) -> Action
{
auto current =
diff --git a/physical.hpp b/physical.hpp
index 383c98a..4242952 100644
--- a/physical.hpp
+++ b/physical.hpp
@@ -67,6 +67,12 @@
*/
Action state(Action value) override;
+ /** @brief Overriden State Property Getter function
+ *
+ * @return - One of OFF / ON / BLINK
+ */
+ Action state() const override;
+
private:
/** @brief Associated LED implementation
*/
diff --git a/test/physical.cpp b/test/physical.cpp
index 10dc9b7..c53a14a 100644
--- a/test/physical.cpp
+++ b/test/physical.cpp
@@ -77,6 +77,7 @@
NiceMock<MockLed> led;
ON_CALL(led, getTrigger()).WillByDefault(Return("none"));
phosphor::led::Physical phy(bus, LED_OBJ, led);
+ EXPECT_EQ(phy.state(), Action::Off);
}
TEST(Physical, ctor_timer_trigger)
@@ -87,6 +88,7 @@
EXPECT_CALL(led, getDelayOn()).WillOnce(Return(500));
EXPECT_CALL(led, getDelayOff()).WillOnce(Return(500));
phosphor::led::Physical phy(bus, LED_OBJ, led);
+ EXPECT_EQ(phy.state(), Action::Off);
}
TEST(Physical, off)
@@ -99,6 +101,7 @@
EXPECT_CALL(led, setBrightness(phosphor::led::DEASSERT)).Times(0);
phosphor::led::Physical phy(bus, LED_OBJ, led);
phy.state(Action::Off);
+ EXPECT_EQ(phy.state(), Action::Off);
}
TEST(Physical, on)
@@ -113,6 +116,7 @@
EXPECT_CALL(led, setBrightness(asserted));
phosphor::led::Physical phy(bus, LED_OBJ, led);
phy.state(Action::On);
+ EXPECT_EQ(phy.state(), Action::On);
}
TEST(Physical, blink)
@@ -125,6 +129,7 @@
EXPECT_CALL(led, setDelayOff(500));
phosphor::led::Physical phy(bus, LED_OBJ, led);
phy.state(Action::Blink);
+ EXPECT_EQ(phy.state(), Action::Blink);
}
TEST(Physical, ctor_none_trigger_asserted_brightness)
@@ -134,6 +139,7 @@
EXPECT_CALL(led, getTrigger()).WillRepeatedly(Return("none"));
EXPECT_CALL(led, getBrightness()).WillRepeatedly(Return(127));
phosphor::led::Physical phy(bus, LED_OBJ, led);
+ EXPECT_EQ(phy.state(), Action::Off);
}
TEST(Physical, on_to_off)
@@ -151,5 +157,7 @@
EXPECT_CALL(led, setBrightness(deasserted));
phosphor::led::Physical phy(bus, LED_OBJ, led);
phy.state(Action::On);
+ EXPECT_EQ(phy.state(), Action::On);
phy.state(Action::Off);
+ EXPECT_EQ(phy.state(), Action::Off);
}