oeqa/terminal : rework the logic

Submitted by jay.shen.teoh@intel.com on Nov. 9, 2020, 8:30 a.m. | Patch ID: 177901

Details

Message ID 1604910610-68620-1-git-send-email-jay.shen.teoh@intel.com
State New
Headers show

Commit Message

jay.shen.teoh@intel.com Nov. 9, 2020, 8:30 a.m.
From: Teoh Jay Shen <jay.shen.teoh@intel.com>


Rework this test case to fulfill the requirements of replacing the click_terminal_icon_on_X_desktop manual test case from oeqa/manual/bsp-hw :
1) code added to verify that the terminal window is working without problem
2) code added to verify that there's only 1 terminal window is launched

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>

---
 meta/lib/oeqa/runtime/cases/terminal.py | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

-- 
2.7.4
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#144405): https://lists.openembedded.org/g/openembedded-core/message/144405
Mute This Topic: https://lists.openembedded.org/mt/78131664/1003190
Group Owner: openembedded-core+owner@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [mhalstead@linuxfoundation.org]
-=-=-=-=-=-=-=-=-=-=-=-

Patch hide | download patch | download mbox

diff --git a/meta/lib/oeqa/runtime/cases/terminal.py b/meta/lib/oeqa/runtime/cases/terminal.py
index a268f26..8a079a5 100644
--- a/meta/lib/oeqa/runtime/cases/terminal.py
+++ b/meta/lib/oeqa/runtime/cases/terminal.py
@@ -2,17 +2,22 @@  from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
 from oeqa.runtime.decorator.package import OEHasPackage
 
-import threading
-import time
+import re
 
 class TerminalTest(OERuntimeTestCase):
 
     @OEHasPackage(['matchbox-terminal'])
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     def test_terminal_running(self):
-        t_thread = threading.Thread(target=self.target.run, args=('export DISPLAY=:0 && matchbox-terminal',))
-        t_thread.start()
-        time.sleep(2)
+        
+        status, output = self.target.run("export DISPLAY=:0 && matchbox-terminal",)
+        check_terminal = re.search("Process killed - no output for 300 seconds.", output)
+        self.assertTrue(check_terminal, msg='Terminal window should be launched without any problem')  
+        
+        status, output = self.target.run('pidof matchbox-terminal | wc -w')
+        output = int(output)
+        self.assertEqual(output, 1, 'There should be only one terminal window being launched. Terminal window launched : %s' % output)
+      
         status, output = self.target.run('pidof matchbox-terminal')
         self.target.run('kill -9 %s' % output)
         self.assertEqual(status, 0, msg='Not able to find process that runs terminal.')