from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends from oeqa.core.decorator.data import skipIfQemu from oeqa.runtime.decorator.package import OEHasPackage class USB_HID_Test(OERuntimeTestCase): def keyboard_mouse_simulation(self): (status, output) = self.target.run('export DISPLAY=:0 && xdotool key F2 && xdotool mousemove 100 100') return self.assertEqual(status, 0, msg = 'Failed to simulate keyboard/mouse input event, output : %s' % output) def set_suspend(self): (status, output) = self.target.run('sudo rtcwake -m mem -s 10') return self.assertEqual(status, 0, msg = 'Failed to suspends your system to RAM, output : %s' % output) @OEHasPackage(['xdotool']) @skipIfQemu('qemuall', 'Test only runs on real hardware') @OETestDepends(['ssh.SSHTest.test_ssh']) def test_USB_Hid_input(self): self.keyboard_mouse_simulation() self.set_suspend() self.keyboard_mouse_simulation()