From 096121740f7a1c9c1e23915505536021245829f1 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Wed, 18 Apr 2018 17:42:17 +0200 Subject: linux: Add a test for Logitech HID++ charging states The current power_supply support in the kernel will advertise an unknown capacity when a device is being charged. This tests this state as well as the expected behaviour when the device is fully charged. https://bugs.freedesktop.org/show_bug.cgi?id=97484 --- src/linux/integration-test | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/linux/integration-test b/src/linux/integration-test index 81064dd..cc65a34 100755 --- a/src/linux/integration-test +++ b/src/linux/integration-test @@ -1166,6 +1166,24 @@ class Tests(dbusmock.DBusTestCase): self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Percentage'), 55) self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'BatteryLevel'), UP_DEVICE_LEVEL_NORMAL) + self.testbed.set_attribute(dev, 'capacity_level', 'Unknown\n') + self.testbed.set_attribute(dev, 'status', 'Charging\n') + self.testbed.uevent(dev, 'change') + time.sleep(0.5) + self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Percentage'), 50.0) + self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'BatteryLevel'), UP_DEVICE_LEVEL_UNKNOWN) + self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'State'), UP_DEVICE_STATE_CHARGING) + self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'IconName'), 'battery-good-charging-symbolic') + + self.testbed.set_attribute(dev, 'capacity_level', 'Full\n') + self.testbed.set_attribute(dev, 'status', 'Full\n') + self.testbed.uevent(dev, 'change') + time.sleep(0.5) + self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Percentage'), 100) + self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'BatteryLevel'), UP_DEVICE_LEVEL_FULL) + self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'State'), UP_DEVICE_STATE_FULLY_CHARGED) + self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'IconName'), 'battery-full-charged-symbolic') + self.stop_daemon() def test_bluetooth_hid_mouse(self): -- cgit v1.2.1