From 5b1417bd21d1e9c00b25bb6db700aec442af746d Mon Sep 17 00:00:00 2001 From: Andrew Jeffery Date: Mon, 18 Mar 2019 17:20:37 +1030 Subject: physical: Conform to LED class kernel ABI The kernel says the following about the LED sysfs interface: > LED handling under Linux > ======================== > > In its simplest form, the LED class just allows control of LEDs from > userspace. LEDs appear in /sys/class/leds/. The maximum brightness of the > LED is defined in max_brightness file. The brightness file will set the brightness > of the LED (taking a value 0-max_brightness). Most LEDs don't have hardware > brightness support so will just be turned on for non-zero brightness settings. The existing code assumed that max_brightness always held a value of 255 and defined a constant for it. Instead, use a class variable to cache the max brightness for the associated LED. Change-Id: I2d8f46de0cddac5f9d8ff5444449518bb4056130 Signed-off-by: Andrew Jeffery --- test/physical.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'test') diff --git a/test/physical.cpp b/test/physical.cpp index f3c3187..f05d882 100644 --- a/test/physical.cpp +++ b/test/physical.cpp @@ -104,11 +104,14 @@ TEST(Physical, off) TEST(Physical, on) { + constexpr unsigned long asserted = 127; + sdbusplus::bus::bus bus = sdbusplus::bus::new_default(); NiceMock led; + ON_CALL(led, getMaxBrightness()).WillByDefault(Return(asserted)); EXPECT_CALL(led, getTrigger()).WillOnce(Return("none")); EXPECT_CALL(led, setTrigger("none")); - EXPECT_CALL(led, setBrightness(phosphor::led::ASSERT)); + EXPECT_CALL(led, setBrightness(asserted)); phosphor::led::Physical phy(bus, LED_OBJ, led); phy.state(Action::On); } @@ -130,21 +133,21 @@ TEST(Physical, ctor_none_trigger_asserted_brightness) sdbusplus::bus::bus bus = sdbusplus::bus::new_default(); NiceMock led; EXPECT_CALL(led, getTrigger()).WillRepeatedly(Return("none")); - constexpr auto val = phosphor::led::ASSERT; - EXPECT_CALL(led, getBrightness()).WillRepeatedly(Return(val)); + EXPECT_CALL(led, getBrightness()).WillRepeatedly(Return(127)); phosphor::led::Physical phy(bus, LED_OBJ, led); } TEST(Physical, on_to_off) { InSequence s; + constexpr unsigned long asserted = 127; auto bus = sdbusplus::bus::new_default(); NiceMock led; + ON_CALL(led, getMaxBrightness()).WillByDefault(Return(asserted)); EXPECT_CALL(led, getTrigger()).Times(1).WillOnce(Return("none")); constexpr auto deasserted = phosphor::led::DEASSERT; EXPECT_CALL(led, getBrightness()).WillOnce(Return(deasserted)); - constexpr auto asserted = phosphor::led::ASSERT; EXPECT_CALL(led, setBrightness(asserted)); EXPECT_CALL(led, setBrightness(deasserted)); phosphor::led::Physical phy(bus, LED_OBJ, led); -- cgit v1.2.1