~ubuntu-branches/ubuntu/vivid/upower/vivid

« back to all changes in this revision

Viewing changes to src/linux/integration-test

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2013-09-06 15:19:05 UTC
  • Revision ID: package-import@ubuntu.com-20130906151905-rl005irvg7wd8p0h
Tags: 0.9.21-3ubuntu1
* Update 00git_updates.patch to today's upstream git:
  - Rework of hidpp detection to determine correct charge values for
    Logitech wireless keyboards/mouse (LP: #1103064)
  - Detect bluetooth mouse/keyboard batteries as such, instead of as system
    batteries. (LP: #115348)

Show diffs side-by-side

added added

removed removed

Lines of Context:
209
209
        self.assertEqual(self.get_dbus_property('OnBattery'), False)
210
210
        self.assertEqual(self.get_dbus_property('OnLowBattery'), False)
211
211
        self.assertEqual(self.get_dbus_dev_property(ac_up, 'PowerSupply'), True)
 
212
        self.assertEqual(self.get_dbus_dev_property(ac_up, 'Type'), 1)
212
213
        self.assertEqual(self.get_dbus_dev_property(ac_up, 'Online'), True)
213
214
        self.assertEqual(self.get_dbus_dev_property(ac_up, 'NativePath'), ac)
214
215
        self.stop_daemon()
262
263
        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'IsPresent'), True)
263
264
        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'State'), UP_DEVICE_STATE_DISCHARGING)
264
265
        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Percentage'), 2.5)
 
266
        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'PowerSupply'), True)
 
267
        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Type'), 2)
265
268
        self.stop_daemon()
266
269
 
267
270
        # now connect AC again
434
437
        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'EnergyFullDesign'), 132.0)
435
438
        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Voltage'), 12.0)
436
439
        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'NativePath'), bat0)
 
440
        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'PowerSupply'), True)
 
441
        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Type'), 2)
437
442
 
438
443
        self.assertEqual(self.get_dbus_property('OnBattery'), True)
439
444
        self.assertEqual(self.get_dbus_property('OnLowBattery'), False)
483
488
        self.assertEqual(self.get_dbus_dev_property(ups0_up, 'IsPresent'), True)
484
489
        self.assertEqual(self.get_dbus_dev_property(ups0_up, 'Percentage'), 70.0)
485
490
        self.assertEqual(self.get_dbus_dev_property(ups0_up, 'State'), UP_DEVICE_STATE_CHARGING)
 
491
        self.assertEqual(self.get_dbus_dev_property(ups0_up, 'PowerSupply'), True)
 
492
        self.assertEqual(self.get_dbus_dev_property(ups0_up, 'Type'), 3)
486
493
 
487
494
        self.assertEqual(self.get_dbus_property('OnBattery'), False)
488
495
        self.assertEqual(self.get_dbus_property('OnLowBattery'), False)
536
543
        self.assertEqual(self.get_dbus_property('OnLowBattery'), False)
537
544
        self.stop_daemon()
538
545
 
 
546
    def test_vendor_strings(self):
 
547
        '''manufacturer/model_name/serial_number with valid and invalid strings'''
 
548
 
 
549
        bat0 = self.testbed.add_device('power_supply', 'BAT0', None,
 
550
                ['type', 'Battery',
 
551
                 'present', '1',
 
552
                 'status', 'Discharging',
 
553
                 'energy_full', '60000000',
 
554
                 'energy_full_design', '80000000',
 
555
                 'energy_now', '1500000',
 
556
                 'voltage_now', '12000000',
 
557
                 # valid ASCII string
 
558
                 'serial_number', '123ABC',
 
559
                 # valid UTF-8 string
 
560
                 'manufacturer', '⍾ Batt Inc. ☢',
 
561
                ], [])
 
562
 
 
563
        # string with invalid chars
 
564
        self.testbed.set_attribute_binary(bat0, 'model_name', b'AB\xFFC12\x013')
 
565
 
 
566
        self.start_daemon()
 
567
        devs = self.proxy.EnumerateDevices()
 
568
        self.assertEqual(len(devs), 1)
 
569
        bat0_up = devs[0]
 
570
 
 
571
        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Serial'), '123ABC')
 
572
        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Vendor'), '⍾ Batt Inc. ☢')
 
573
        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Model'), 'ABC123')
 
574
        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Energy'), 1.5)
 
575
        self.stop_daemon()
 
576
 
 
577
    def test_bluetooth_mouse(self):
 
578
        '''bluetooth mouse battery'''
 
579
 
 
580
        btdev = self.testbed.add_device('bluetooth',
 
581
                                        'usb1/bluetooth/hci0/hci0:01',
 
582
                                        None,
 
583
                                        [], [])
 
584
 
 
585
        mouseinp = self.testbed.add_device(
 
586
            'input',
 
587
            'usb1/bluetooth/hci0/hci0:01/input2/mouse3',
 
588
            None,
 
589
            [], ['DEVNAME', 'input/mouse3', 'ID_INPUT_MOUSE', '1'])
 
590
 
 
591
        mousebat0 = self.testbed.add_device(
 
592
            'power_supply',
 
593
            'usb1/bluetooth/hci0/hci0:01/power_supply/hid-00:11:22:33:44:55-battery',
 
594
            None,
 
595
            ['type', 'Battery',
 
596
             'scope', 'Device',
 
597
             'present', '1',
 
598
             'online', '1',
 
599
             'status', 'Discharging',
 
600
             'capacity', '30',
 
601
             'model_name', 'Fancy BT mouse',
 
602
            ],
 
603
            [])
 
604
 
 
605
        self.start_daemon()
 
606
        devs = self.proxy.EnumerateDevices()
 
607
        self.assertEqual(len(devs), 1)
 
608
        mousebat0_up = devs[0]
 
609
 
 
610
        self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Model'), 'Fancy BT mouse')
 
611
        self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Percentage'), 30)
 
612
        self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'PowerSupply'), False)
 
613
        # 5 == mouse
 
614
        self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Type'), 5)
 
615
        self.assertEqual(self.get_dbus_property('OnBattery'), False)
 
616
        self.assertEqual(self.get_dbus_property('OnLowBattery'), False)
 
617
        self.stop_daemon()
 
618
 
 
619
    def test_bluetooth_keyboard(self):
 
620
        '''bluetooth keyboard battery'''
 
621
 
 
622
        btdev = self.testbed.add_device('bluetooth',
 
623
                                        'usb2/bluetooth/hci0/hci0:1',
 
624
                                        None,
 
625
                                        [], [])
 
626
 
 
627
        kbdinp = self.testbed.add_device(
 
628
            'input',
 
629
            'usb2/bluetooth/hci0/hci0:1/input3/event4',
 
630
            None,
 
631
            [], ['DEVNAME', 'input/event4', 'ID_INPUT_KEYBOARD', '1'])
 
632
 
 
633
        kbbat0 = self.testbed.add_device(
 
634
            'power_supply',
 
635
            'usb2/bluetooth/hci0/hci0:1/power_supply/hid-00:22:33:44:55:66-battery',
 
636
            None,
 
637
            ['type', 'Battery',
 
638
             'scope', 'Device',
 
639
             'present', '1',
 
640
             'online', '1',
 
641
             'status', 'Discharging',
 
642
             'capacity', '40',
 
643
             'model_name', 'Monster Typist',
 
644
            ],
 
645
            [])
 
646
 
 
647
        self.start_daemon()
 
648
        devs = self.proxy.EnumerateDevices()
 
649
        self.assertEqual(len(devs), 1)
 
650
        kbdbat0_up = devs[0]
 
651
 
 
652
        self.assertEqual(self.get_dbus_dev_property(kbdbat0_up, 'Model'), 'Monster Typist')
 
653
        self.assertEqual(self.get_dbus_dev_property(kbdbat0_up, 'Percentage'), 40)
 
654
        self.assertEqual(self.get_dbus_dev_property(kbdbat0_up, 'PowerSupply'), False)
 
655
        # 6 == keyboard
 
656
        self.assertEqual(self.get_dbus_dev_property(kbdbat0_up, 'Type'), 6)
 
657
        self.assertEqual(self.get_dbus_property('OnBattery'), False)
 
658
        self.assertEqual(self.get_dbus_property('OnLowBattery'), False)
 
659
        self.stop_daemon()
 
660
 
539
661
    #
540
662
    # Helper methods
541
663
    #