xref: /OK3568_Linux_fs/yocto/poky/meta/lib/oeqa/runtime/cases/suspend.py (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1from oeqa.runtime.case import OERuntimeTestCase
2from oeqa.core.decorator.depends import OETestDepends
3from oeqa.core.decorator.data import skipIfQemu
4import threading
5import time
6
7class Suspend_Test(OERuntimeTestCase):
8
9    def test_date(self):
10        (status, output) = self.target.run('date')
11        self.assertEqual(status, 0,  msg = 'Failed to run date command, output : %s' % output)
12
13    def test_ping(self):
14        t_thread = threading.Thread(target=self.target.run, args=("ping 8.8.8.8",))
15        t_thread.start()
16        time.sleep(2)
17
18        status, output = self.target.run('pidof ping')
19        self.target.run('kill -9 %s' % output)
20        self.assertEqual(status, 0, msg = 'Not able to find process that runs ping, output : %s' % output)
21
22    def set_suspend(self):
23        (status, output) = self.target.run('sudo rtcwake -m mem -s 10')
24        self.assertEqual(status, 0,  msg = 'Failed to suspends your system to RAM, output : %s' % output)
25
26    @skipIfQemu()
27    @OETestDepends(['ssh.SSHTest.test_ssh'])
28    def test_suspend(self):
29        self.test_date()
30        self.test_ping()
31        self.set_suspend()
32        self.test_date()
33        self.test_ping()
34