[v2] oeqa/terminal : improve the test case

Submitted by jay.shen.teoh@intel.com on Dec. 17, 2020, 5:34 a.m. | Patch ID: 178969

Details

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

Commit Message

jay.shen.teoh@intel.com Dec. 17, 2020, 5:34 a.m.
From: Teoh Jay Shen <jay.shen.teoh@intel.com>


-Improve 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) verify that the terminal window is working without problem
2) verify that there's only 1 terminal window is launched
3) reduce test case run time

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

---
 meta/lib/oeqa/runtime/cases/terminal.py | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

-- 
2.7.4
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#145809): https://lists.openembedded.org/g/openembedded-core/message/145809
Mute This Topic: https://lists.openembedded.org/mt/79031076/3616849
Group Owner: openembedded-core+owner@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [michael@yoctoproject.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 ea4ef02..c330054 100644
--- a/meta/lib/oeqa/runtime/cases/terminal.py
+++ b/meta/lib/oeqa/runtime/cases/terminal.py
@@ -2,21 +2,20 @@  from oeqa.runtime.case import OERuntimeTestCase
 from oeqa.core.decorator.depends import OETestDepends
 from oeqa.runtime.decorator.package import OEHasPackage
 
-import re
+import threading
+import time
 
 class TerminalTest(OERuntimeTestCase):
 
     @OEHasPackage(['matchbox-terminal'])
     @OETestDepends(['ssh.SSHTest.test_ssh'])
     def test_terminal_running(self):
-        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)
+        t_thread = threading.Thread(target=self.target.run, args=("export DISPLAY=:0 && matchbox-terminal -e 'sh -c \"uname -a && exec sh\"'",))
+        t_thread.start()
+        time.sleep(2)
         
         status, output = self.target.run('pidof matchbox-terminal')
+        number_of_terminal = len(output.split())
+        self.assertEqual(number_of_terminal, 1, msg='There should be only one terminal being launched. Number of terminal launched : %s' % number_of_terminal)
         self.target.run('kill -9 %s' % output)
-        self.assertEqual(status, 0, msg='Not able to find process that runs terminal.')   
+        self.assertEqual(status, 0, msg='Not able to find process that runs terminal.') 
\ No newline at end of file