All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] oeqa/terminal : rework the logic
@ 2020-11-09  8:30 Teoh, Jay Shen
  2020-11-09  8:34 ` [OE-core] " Alexander Kanavin
  0 siblings, 1 reply; 5+ messages in thread
From: Teoh, Jay Shen @ 2020-11-09  8:30 UTC (permalink / raw)
  To: openembedded-core

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(-)

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.')   
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [OE-core] [PATCH] oeqa/terminal : rework the logic
  2020-11-09  8:30 [PATCH] oeqa/terminal : rework the logic Teoh, Jay Shen
@ 2020-11-09  8:34 ` Alexander Kanavin
  2020-11-10  2:21   ` Teoh, Jay Shen
  0 siblings, 1 reply; 5+ messages in thread
From: Alexander Kanavin @ 2020-11-09  8:34 UTC (permalink / raw)
  To: Teoh, Jay Shen; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 2378 bytes --]

Does this test take 5 minutes to complete? This is too much, it should only
be a few seconds.

Alex

On Mon, 9 Nov 2020 at 09:30, Teoh, Jay Shen <jay.shen.teoh@intel.com> wrote:

> 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(-)
>
> 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.')
> --
> 2.7.4
>
>
> 
>
>

[-- Attachment #2: Type: text/html, Size: 3123 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [OE-core] [PATCH] oeqa/terminal : rework the logic
  2020-11-09  8:34 ` [OE-core] " Alexander Kanavin
@ 2020-11-10  2:21   ` Teoh, Jay Shen
  2020-12-21  2:43     ` [Patch v2] oeqa/terminal : improve the test case Teoh, Jay Shen
  0 siblings, 1 reply; 5+ messages in thread
From: Teoh, Jay Shen @ 2020-11-10  2:21 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: OE-core

[-- Attachment #1: Type: text/plain, Size: 2840 bytes --]

Hi Alex,

Yes this test took around 5 minutes to be completed. But since it is not acceptable and not reasonable for a test case to take up so much time.
I will rework on it.

Thanks for the feedback.

Best Regards,
Jay

From: Alexander Kanavin <alex.kanavin@gmail.com>
Sent: Monday, 9 November, 2020 4:34 PM
To: Teoh, Jay Shen <jay.shen.teoh@intel.com>
Cc: OE-core <openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [PATCH] oeqa/terminal : rework the logic

Does this test take 5 minutes to complete? This is too much, it should only be a few seconds.

Alex

On Mon, 9 Nov 2020 at 09:30, Teoh, Jay Shen <jay.shen.teoh@intel.com<mailto:jay.shen.teoh@intel.com>> wrote:
From: Teoh Jay Shen <jay.shen.teoh@intel.com<mailto: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<mailto:jay.shen.teoh@intel.com>>
---
 meta/lib/oeqa/runtime/cases/terminal.py | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

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.')
--
2.7.4




[-- Attachment #2: Type: text/html, Size: 6661 bytes --]

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Patch v2] oeqa/terminal : improve the test case
  2020-11-10  2:21   ` Teoh, Jay Shen
@ 2020-12-21  2:43     ` Teoh, Jay Shen
  0 siblings, 0 replies; 5+ messages in thread
From: Teoh, Jay Shen @ 2020-12-21  2:43 UTC (permalink / raw)
  To: openembedded-core

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

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
---
 meta/lib/oeqa/runtime/cases/terminal.py | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/meta/lib/oeqa/runtime/cases/terminal.py b/meta/lib/oeqa/runtime/cases/terminal.py
index a268f26..8fcca99 100644
--- a/meta/lib/oeqa/runtime/cases/terminal.py
+++ b/meta/lib/oeqa/runtime/cases/terminal.py
@@ -10,9 +10,12 @@ 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 = 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.')     
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2] oeqa/terminal : improve the test case
       [not found] <16460429C740485C.10479@lists.openembedded.org>
@ 2020-12-17  5:34 ` Teoh, Jay Shen
  0 siblings, 0 replies; 5+ messages in thread
From: Teoh, Jay Shen @ 2020-12-17  5:34 UTC (permalink / raw)
  To: openembedded-core

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


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-12-21  2:43 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-09  8:30 [PATCH] oeqa/terminal : rework the logic Teoh, Jay Shen
2020-11-09  8:34 ` [OE-core] " Alexander Kanavin
2020-11-10  2:21   ` Teoh, Jay Shen
2020-12-21  2:43     ` [Patch v2] oeqa/terminal : improve the test case Teoh, Jay Shen
     [not found] <16460429C740485C.10479@lists.openembedded.org>
2020-12-17  5:34 ` [PATCH " Teoh, Jay Shen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.