Linux integration tests: check energy vs. charge

So far the test cases only covered drivers which reported energy (µWh). Add
checks that the Energy* properties are correct, and add a test case for drivers
which report charge (µAh).
This commit is contained in:
Martin Pitt 2011-05-14 13:20:32 +02:00
parent 0fd304c3f3
commit a1fe30811d

View file

@ -281,6 +281,9 @@ class Tests(unittest.TestCase):
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'IsPresent'), True)
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'State'), UP_DEVICE_STATE_DISCHARGING)
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Percentage'), 80.0)
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Energy'), 48.0)
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'EnergyFull'), 60.0)
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'EnergyFullDesign'), 80.0)
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Voltage'), 12.0)
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'NativePath'), bat0)
self.stop_daemon()
@ -378,6 +381,38 @@ class Tests(unittest.TestCase):
self.assertEqual(self.get_dbus_property('OnLowBattery'), False)
self.stop_daemon()
def test_battery_charge(self):
'''battery which reports charge instead of energy
energy_* is in uWh, while charge_* is in uAh.
'''
bat0 = self.add_device('power_supply', 'BAT0',
{'type': 'Battery',
'present': '1',
'status': 'Discharging',
'charge_full': '10500000',
'charge_full_design': '11000000',
'charge_now': '7875000',
'current_now': '787000',
'voltage_now': '12000000'})
self.start_daemon()
devs = self.proxy.EnumerateDevices()
self.assertEqual(len(devs), 1)
bat0_up = devs[0]
self.assertEqual(self.get_dbus_property('OnBattery'), True)
self.assertEqual(self.get_dbus_property('OnLowBattery'), False)
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'IsPresent'), True)
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'State'), UP_DEVICE_STATE_DISCHARGING)
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Percentage'), 75.0)
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Energy'), 94.5)
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'EnergyFull'), 126.0)
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'EnergyFullDesign'), 132.0)
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Voltage'), 12.0)
self.assertEqual(self.get_dbus_dev_property(bat0_up, 'NativePath'), bat0)
self.stop_daemon()
def test_ups_ac(self):
'''UPS properties with and without AC'''