from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends from oeqa.core.decorator.data import skipIfQemu import threading import time class Suspend_Test(OERuntimeTestCase): def test_date(self): (status, output) = self.target.run('date') self.assertEqual(status, 0, msg = 'Failed to run date command, output : %s' % output) def test_ping(self): t_thread = threading.Thread(target=self.target.run, args=("ping 8.8.8.8",)) t_thread.start() time.sleep(2) status, output = self.target.run('pidof ping') self.target.run('kill -9 %s' % output) self.assertEqual(status, 0, msg = 'Not able to find process that runs ping, output : %s' % output) def set_suspend(self): (status, output) = self.target.run('sudo rtcwake -m mem -s 10') self.assertEqual(status, 0, msg = 'Failed to suspends your system to RAM, output : %s' % output) @skipIfQemu('qemuall', 'Test only runs on real hardware') @OETestDepends(['ssh.SSHTest.test_ssh']) def test_suspend(self): self.test_date() self.test_ping() self.set_suspend() self.test_date() self.test_ping()