summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/runtime/cases/suspend.py
blob: 67b6f7e56fab68880a65afe84dd75d2ce20a2108 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
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()