summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorAndrew Jeffery <andrew@aj.id.au>2019-03-18 17:20:37 +1030
committerAndrew Jeffery <andrew@aj.id.au>2019-04-08 13:48:50 +0930
commit5b1417bd21d1e9c00b25bb6db700aec442af746d (patch)
treede53af30b71dbde0bb9b72cba4dc42c2842491b6 /test
parent2332e91ff6b0758026ce68f049a74cda6e13b702 (diff)
downloadphosphor-led-sysfs-master.tar.gz
phosphor-led-sysfs-master.zip
physical: Conform to LED class kernel ABIHEADmaster
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 <andrew@aj.id.au>
Diffstat (limited to 'test')
-rw-r--r--test/physical.cpp11
1 files changed, 7 insertions, 4 deletions
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<MockLed> 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<MockLed> 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<MockLed> 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);
OpenPOWER on IntegriCloud