From: "Teoh, Jay Shen" <jay.shen.teoh@intel.com>
To: openembedded-core@lists.openembedded.org
Subject: [PATCH v2] oeqa/terminal : improve the test case
Date: Thu, 17 Dec 2020 13:34:30 +0800 [thread overview]
Message-ID: <1608183270-6229-1-git-send-email-jay.shen.teoh@intel.com> (raw)
In-Reply-To: <16460429C740485C.10479@lists.openembedded.org>
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(-)
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
--
2.7.4
next parent reply other threads:[~2020-12-17 5:34 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <16460429C740485C.10479@lists.openembedded.org>
2020-12-17 5:34 ` Teoh, Jay Shen [this message]
2020-12-18 23:06 ` [OE-core] [PATCH v2] oeqa/terminal : improve the test case Richard Purdie
2020-12-20 23:44 ` Teoh, Jay Shen
2020-11-10 2:21 [OE-core] [PATCH] oeqa/terminal : rework the logic Teoh, Jay Shen
2020-12-21 2:43 ` [Patch v2] oeqa/terminal : improve the test case Teoh, Jay Shen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1608183270-6229-1-git-send-email-jay.shen.teoh@intel.com \
--to=jay.shen.teoh@intel.com \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox