Ejemplo n.º 1
0
 def test_bad_intervals(self):
     with self.assertRaisesRegexp(ValueError, 'Full speed'):
         hid_gadget.HidGadget(report_desc,
                              features={},
                              interval_ms=50000,
                              vendor_id=0,
                              product_id=0)
     with self.assertRaisesRegexp(ValueError, 'High speed'):
         hid_gadget.HidGadget(report_desc,
                              features={},
                              interval_ms=5000,
                              vendor_id=0,
                              product_id=0)
Ejemplo n.º 2
0
 def test_set_bad_report(self):
     feature = TestFeature()
     g = hid_gadget.HidGadget(report_desc,
                              features={1: feature},
                              vendor_id=0,
                              product_id=0)
     self.assertIsNone(g.ControlWrite(0x21, 0x09, 0x0102, 0, 'Hello!'))
Ejemplo n.º 3
0
 def test_get_report_descriptor(self):
     g = hid_gadget.HidGadget(report_desc=report_desc,
                              features={},
                              vendor_id=0,
                              product_id=0)
     desc = g.ControlRead(0x81, 6, 0x2200, 0, 63)
     self.assertEquals(desc, report_desc)
Ejemplo n.º 4
0
 def test_get_bad_report(self):
     feature = TestFeature()
     g = hid_gadget.HidGadget(report_desc,
                              features={1: feature},
                              vendor_id=0,
                              product_id=0)
     self.assertIsNone(g.ControlRead(0xA1, 1, 0x0102, 0, 8))
Ejemplo n.º 5
0
 def test_get_string_descriptor(self):
     g = hid_gadget.HidGadget(report_desc=report_desc,
                              features={},
                              vendor_id=0,
                              product_id=0)
     g.AddStringDescriptor(2, 'HID Gadget')
     desc = g.ControlRead(0x80, 6, 0x0302, 0x0409, 255)
     self.assertEquals(desc, '\x16\x03H\0I\0D\0 \0G\0a\0d\0g\0e\0t\0')
Ejemplo n.º 6
0
 def test_set_feature_report(self):
     feature = TestFeature()
     g = hid_gadget.HidGadget(report_desc,
                              features={1: feature},
                              vendor_id=0,
                              product_id=0)
     self.assertTrue(g.ControlWrite(0x21, 0x09, 0x0301, 0, 'Hello!'))
     self.assertEquals(feature.feature_report, 'Hello!')
Ejemplo n.º 7
0
 def test_get_feature_report(self):
     feature = TestFeature()
     g = hid_gadget.HidGadget(report_desc,
                              features={1: feature},
                              vendor_id=0,
                              product_id=0)
     report = g.ControlRead(0xA1, 1, 0x0301, 0, 8)
     self.assertEquals(report, 'Feature ')
Ejemplo n.º 8
0
 def test_set_idle(self):
     g = hid_gadget.HidGadget(report_desc=report_desc,
                              features={},
                              vendor_id=0,
                              product_id=0)
     chip = mock.Mock()
     g.Connected(chip, usb_constants.Speed.HIGH)
     self.assertTrue(g.ControlWrite(0x21, 0x0A, 0, 0, ''))
Ejemplo n.º 9
0
 def test_class_wrong_target(self):
     g = hid_gadget.HidGadget(report_desc=report_desc,
                              features={},
                              vendor_id=0,
                              product_id=0)
     self.assertIsNone(g.ControlRead(0xA0, 0, 0, 0, 0))  # Device
     self.assertIsNone(g.ControlRead(0xA1, 0, 0, 1, 0))  # Interface 1
     self.assertIsNone(g.ControlWrite(0x20, 0, 0, 0, ''))  # Device
     self.assertIsNone(g.ControlWrite(0x21, 0, 0, 1, ''))  # Interface 1
Ejemplo n.º 10
0
 def test_send_report_zero(self):
     g = hid_gadget.HidGadget(report_desc=report_desc,
                              features={},
                              vendor_id=0,
                              product_id=0)
     chip = mock.Mock()
     g.Connected(chip, usb_constants.Speed.HIGH)
     g.SendReport(0, 'Hello world!')
     chip.SendPacket.assert_called_once_with(0x81, 'Hello world!')
Ejemplo n.º 11
0
 def test_set_bad_report(self):
     feature = TestFeature()
     g = hid_gadget.HidGadget(report_desc,
                              features={1: feature},
                              vendor_id=0,
                              product_id=0)
     chip = mock.Mock()
     g.Connected(chip, usb_constants.Speed.HIGH)
     self.assertIsNone(g.ControlWrite(0x21, 0x09, 0x0102, 0, 'Hello!'))
Ejemplo n.º 12
0
 def test_get_report_descriptor(self):
     g = hid_gadget.HidGadget(report_desc=report_desc,
                              features={},
                              vendor_id=0,
                              product_id=0)
     chip = mock.Mock()
     g.Connected(chip, usb_constants.Speed.HIGH)
     desc = g.ControlRead(0x81, 6, 0x2200, 0, 63)
     self.assertEquals(desc, report_desc)
Ejemplo n.º 13
0
 def test_receive_bad_interrupt(self):
     feature = TestFeature()
     g = hid_gadget.HidGadget(report_desc,
                              features={1: feature},
                              vendor_id=0,
                              product_id=0)
     chip = mock.Mock()
     g.Connected(chip, usb_constants.Speed.HIGH)
     g.ReceivePacket(0x01, '\x00Hello!')
     chip.HaltEndpoint.assert_called_once_with(0x01)
Ejemplo n.º 14
0
 def test_get_feature_report(self):
     feature = TestFeature()
     g = hid_gadget.HidGadget(report_desc,
                              features={1: feature},
                              vendor_id=0,
                              product_id=0)
     chip = mock.Mock()
     g.Connected(chip, usb_constants.Speed.HIGH)
     report = g.ControlRead(0xA1, 1, 0x0301, 0, 8)
     self.assertEquals(report, 'Feature ')
Ejemplo n.º 15
0
 def test_set_output_report(self):
     feature = TestFeature()
     g = hid_gadget.HidGadget(report_desc,
                              features={1: feature},
                              vendor_id=0,
                              product_id=0)
     chip = mock.Mock()
     g.Connected(chip, usb_constants.Speed.HIGH)
     self.assertTrue(g.ControlWrite(0x21, 0x09, 0x0201, 0, 'Hello!'))
     self.assertEquals(feature.output_report, 'Hello!')
Ejemplo n.º 16
0
 def test_class_wrong_target(self):
     g = hid_gadget.HidGadget(report_desc=report_desc,
                              features={},
                              vendor_id=0,
                              product_id=0)
     chip = mock.Mock()
     g.Connected(chip, usb_constants.Speed.HIGH)
     self.assertIsNone(g.ControlRead(0xA0, 0, 0, 0, 0))  # Device
     self.assertIsNone(g.ControlRead(0xA1, 0, 0, 1, 0))  # Interface 1
     self.assertIsNone(g.ControlWrite(0x20, 0, 0, 0, ''))  # Device
     self.assertIsNone(g.ControlWrite(0x21, 0, 0, 1, ''))  # Interface 1
Ejemplo n.º 17
0
 def test_receive_interrupt_report_zero(self):
     feature = TestFeature()
     g = hid_gadget.HidGadget(report_desc,
                              features={0: feature},
                              vendor_id=0,
                              product_id=0)
     chip = mock.Mock()
     g.Connected(chip, usb_constants.Speed.HIGH)
     g.ReceivePacket(0x01, 'Hello!')
     self.assertFalse(chip.HaltEndpoint.called)
     self.assertEquals(feature.output_report, 'Hello!')
Ejemplo n.º 18
0
 def test_send_report(self):
     feature = TestFeature()
     g = hid_gadget.HidGadget(report_desc,
                              features={1: feature},
                              vendor_id=0,
                              product_id=0)
     chip = mock.Mock()
     g.Connected(chip, usb_constants.Speed.HIGH)
     feature.SendReport('Hello world!')
     chip.SendPacket.assert_called_once_with(0x81, '\x01Hello world!')
     g.Disconnected()
Ejemplo n.º 19
0
 def test_send_multiple_reports(self):
     g = hid_gadget.HidGadget(report_desc=report_desc,
                              features={},
                              vendor_id=0,
                              product_id=0)
     chip = mock.Mock()
     g.Connected(chip, usb_constants.Speed.HIGH)
     g.SendReport(1, 'Hello!')
     g.SendReport(2, 'World!')
     chip.SendPacket.assert_has_calls([
         mock.call(0x81, '\x01Hello!'),
         mock.call(0x81, '\x02World!'),
     ])
Ejemplo n.º 20
0
 def test_set_idle(self):
     g = hid_gadget.HidGadget(report_desc=report_desc,
                              features={},
                              vendor_id=0,
                              product_id=0)
     self.assertTrue(g.ControlWrite(0x21, 0x0A, 0, 0, ''))