Re: [OE-core] [PATCH] oeqa/runtime: Added 4 new runtime test cases

2015-07-15 Thread ChenQi

On 07/08/2015 11:17 PM, Daniel Istrate wrote:

bash:(240) check bash in image
connman: (223) Only one connmand in background
  (963) test connmand file
rpm: (195) Check rpm install/removal log file size

Signed-off-by: Daniel Istrate daniel.alexandrux.istr...@intel.com
---
  meta/lib/oeqa/runtime/bash.py| 23 +++
  meta/lib/oeqa/runtime/connman.py | 40 
  meta/lib/oeqa/runtime/rpm.py | 37 +
  3 files changed, 100 insertions(+)
  create mode 100644 meta/lib/oeqa/runtime/bash.py

diff --git a/meta/lib/oeqa/runtime/bash.py b/meta/lib/oeqa/runtime/bash.py
new file mode 100644
index 000..2a261a3
--- /dev/null
+++ b/meta/lib/oeqa/runtime/bash.py
@@ -0,0 +1,23 @@
+from oeqa.oetest import oeRuntimeTest
+from oeqa.utils.decorators import *
+
+
+class BashTest(oeRuntimeTest):
+
+@testcase(240)
+@skipUnlessPassed(test_ssh)
+def test_check_bash_in_image(self):
+
+Summary: check bash in image
+Expected:bash command should exist in image
+Product: BSPs
+Author:  Alexandru Georgescu alexandru.c.george...@intel.com
+AutomatedBy: Daniel Istrate daniel.alexandrux.istr...@intel.com
+
+
+cmd = 'which bash'
+expected_ret = '/bin/bash'
+
+(status, output) = self.target.run(cmd)
+self.assertEqual(0, status, 'Failed to send cmd {}'.format(cmd))
+self.assertEqual(str(output), expected_ret, 'Found {}, instead of 
{}'.format(output, expected_ret))
diff --git a/meta/lib/oeqa/runtime/connman.py b/meta/lib/oeqa/runtime/connman.py
index cc537f7..70ead4e 100644
--- a/meta/lib/oeqa/runtime/connman.py
+++ b/meta/lib/oeqa/runtime/connman.py
@@ -28,3 +28,43 @@ class ConnmanTest(oeRuntimeTest):
  if status != 0:
  print self.service_status(connman)
  self.fail(No connmand process running)
+
+@testcase(223)
+def test_only_one_connmand_in_background(self):
+
+Summary: Only one connmand in background
+Expected:There will be only one connmand instance in background.
+Product: BSPs
+Author:  Alexandru Georgescu alexandru.c.george...@intel.com
+AutomatedBy: Daniel Istrate daniel.alexandrux.istr...@intel.com
+
+
+# Make sure that 'connmand' is running in background
+(status, output) = self.target.run(oeRuntimeTest.pscmd + ' | grep 
[c]onnmand')
+self.assertEqual(0, status, 'Failed to find connmand process running 
in background.')
+
+# Start a new instance of 'connmand'
+(status, output) = self.target.run('connmand')
+self.assertEqual(0, status, 'Failed to start a new connmand 
process.')
+
+# Make sure that only one 'connmand' is running in background
+(status, output) = self.target.run(oeRuntimeTest.pscmd + ' | grep 
[c]onnmand | wc -l')
+self.assertEqual(0, status, 'Failed to find connmand process running 
in background.')
+self.assertEqual(1, int(output), 'Found {} connmand processes running, 
expected 1.'.format(output))
+
+@testcase(963)
+def test_connmand_file(self):
+
+Summary: test connmand file
+Expected:connman-applet should be ELF32 binary
+Product: BSPs
+Author:  Lucian Musat georgex.l.mu...@intel.com
+AutomatedBy: Daniel Istrate daniel.alexandrux.istr...@intel.com
+
+
+cmd = readelf -h /usr/bin/connman-applet | sed -n '3p' | awk '{print 
$2}'
+expected_ret = 'ELF32'
+
+(status, output) = self.target.run(cmd)
+self.assertEqual(0, status, 'Failed to send cmd {}'.format(cmd))
+self.assertEqual(expected_ret, str(output), Expected {}, found instead 
{}.format(expected_ret, output))



https://autobuilder.yoctoproject.org/main/builders/nightly-arm64/builds/50/steps/Running%20Sanity%20Tests/logs/stdio

Please look at the above failure.

Regards,
Chen Qi


diff --git a/meta/lib/oeqa/runtime/rpm.py b/meta/lib/oeqa/runtime/rpm.py
index 4ca193b..32aae24 100644
--- a/meta/lib/oeqa/runtime/rpm.py
+++ b/meta/lib/oeqa/runtime/rpm.py
@@ -58,6 +58,43 @@ class RpmInstallRemoveTest(oeRuntimeTest):
  (status, output) = self.target.run('sudo -u test1 rpm -qa')
  self.assertEqual(status, 0, msg=status: %s. Cannot run rpm -qa % 
status)
  
+@testcase(195)

+@skipUnlessPassed('test_rpm_install')
+def test_check_rpm_install_removal_log_file_size(self):
+
+Summary: Check rpm install/removal log file size
+Expected:There should be some method to keep rpm log in a small 
size .
+Product: BSPs
+Author:  Alexandru Georgescu alexandru.c.george...@intel.com
+AutomatedBy: Daniel Istrate daniel.alexandrux.istr...@intel.com
+
+db_files_cmd = 'ls /var/lib/rpm/__db.*'
+get_log_size_cmd = du 

Re: [OE-core] [PATCH] oeqa/runtime: Added 4 new runtime test cases

2015-07-15 Thread Burton, Ross
On 15 July 2015 at 08:43, ChenQi qi.c...@windriver.com wrote:


 https://autobuilder.yoctoproject.org/main/builders/nightly-arm64/builds/50/steps/Running%20Sanity%20Tests/logs/stdio

 Please look at the above failure.


Literally no idea why I ended up merging this into mut, because I knew it
would fail.

I've just removed it.  Daniel, can you please re-submit without the connman
test (and get that connman test removed from the test cases).

Ross
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] oeqa/runtime: Added 4 new runtime test cases

2015-07-10 Thread Burton, Ross
On 8 July 2015 at 16:17, Daniel Istrate daniel.alexandrux.istr...@intel.com
 wrote:

 +@testcase(963)
 +def test_connmand_file(self):
 +
 +Summary: test connmand file
 +Expected:connman-applet should be ELF32 binary
 +Product: BSPs
 +Author:  Lucian Musat georgex.l.mu...@intel.com
 +AutomatedBy: Daniel Istrate daniel.alexandrux.istr...@intel.com
 +


What's the point of this test case?  Checking a random binary is a 32-bit
ELF seems a bit strange, especially as it means it will always fail on a
64-bit machine.

Ross
-- 
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] oeqa/runtime: Added 4 new runtime test cases

2015-07-08 Thread Daniel Istrate
bash:(240) check bash in image
connman: (223) Only one connmand in background
 (963) test connmand file
rpm: (195) Check rpm install/removal log file size

Signed-off-by: Daniel Istrate daniel.alexandrux.istr...@intel.com
---
 meta/lib/oeqa/runtime/bash.py| 23 +++
 meta/lib/oeqa/runtime/connman.py | 40 
 meta/lib/oeqa/runtime/rpm.py | 37 +
 3 files changed, 100 insertions(+)
 create mode 100644 meta/lib/oeqa/runtime/bash.py

diff --git a/meta/lib/oeqa/runtime/bash.py b/meta/lib/oeqa/runtime/bash.py
new file mode 100644
index 000..2a261a3
--- /dev/null
+++ b/meta/lib/oeqa/runtime/bash.py
@@ -0,0 +1,23 @@
+from oeqa.oetest import oeRuntimeTest
+from oeqa.utils.decorators import *
+
+
+class BashTest(oeRuntimeTest):
+
+@testcase(240)
+@skipUnlessPassed(test_ssh)
+def test_check_bash_in_image(self):
+
+Summary: check bash in image
+Expected:bash command should exist in image
+Product: BSPs
+Author:  Alexandru Georgescu alexandru.c.george...@intel.com
+AutomatedBy: Daniel Istrate daniel.alexandrux.istr...@intel.com
+
+
+cmd = 'which bash'
+expected_ret = '/bin/bash'
+
+(status, output) = self.target.run(cmd)
+self.assertEqual(0, status, 'Failed to send cmd {}'.format(cmd))
+self.assertEqual(str(output), expected_ret, 'Found {}, instead of 
{}'.format(output, expected_ret))
diff --git a/meta/lib/oeqa/runtime/connman.py b/meta/lib/oeqa/runtime/connman.py
index cc537f7..70ead4e 100644
--- a/meta/lib/oeqa/runtime/connman.py
+++ b/meta/lib/oeqa/runtime/connman.py
@@ -28,3 +28,43 @@ class ConnmanTest(oeRuntimeTest):
 if status != 0:
 print self.service_status(connman)
 self.fail(No connmand process running)
+
+@testcase(223)
+def test_only_one_connmand_in_background(self):
+
+Summary: Only one connmand in background
+Expected:There will be only one connmand instance in background.
+Product: BSPs
+Author:  Alexandru Georgescu alexandru.c.george...@intel.com
+AutomatedBy: Daniel Istrate daniel.alexandrux.istr...@intel.com
+
+
+# Make sure that 'connmand' is running in background
+(status, output) = self.target.run(oeRuntimeTest.pscmd + ' | grep 
[c]onnmand')
+self.assertEqual(0, status, 'Failed to find connmand process running 
in background.')
+
+# Start a new instance of 'connmand'
+(status, output) = self.target.run('connmand')
+self.assertEqual(0, status, 'Failed to start a new connmand 
process.')
+
+# Make sure that only one 'connmand' is running in background
+(status, output) = self.target.run(oeRuntimeTest.pscmd + ' | grep 
[c]onnmand | wc -l')
+self.assertEqual(0, status, 'Failed to find connmand process running 
in background.')
+self.assertEqual(1, int(output), 'Found {} connmand processes running, 
expected 1.'.format(output))
+
+@testcase(963)
+def test_connmand_file(self):
+
+Summary: test connmand file
+Expected:connman-applet should be ELF32 binary
+Product: BSPs
+Author:  Lucian Musat georgex.l.mu...@intel.com
+AutomatedBy: Daniel Istrate daniel.alexandrux.istr...@intel.com
+
+
+cmd = readelf -h /usr/bin/connman-applet | sed -n '3p' | awk '{print 
$2}'
+expected_ret = 'ELF32'
+
+(status, output) = self.target.run(cmd)
+self.assertEqual(0, status, 'Failed to send cmd {}'.format(cmd))
+self.assertEqual(expected_ret, str(output), Expected {}, found 
instead {}.format(expected_ret, output))
diff --git a/meta/lib/oeqa/runtime/rpm.py b/meta/lib/oeqa/runtime/rpm.py
index 4ca193b..32aae24 100644
--- a/meta/lib/oeqa/runtime/rpm.py
+++ b/meta/lib/oeqa/runtime/rpm.py
@@ -58,6 +58,43 @@ class RpmInstallRemoveTest(oeRuntimeTest):
 (status, output) = self.target.run('sudo -u test1 rpm -qa')
 self.assertEqual(status, 0, msg=status: %s. Cannot run rpm -qa % 
status)
 
+@testcase(195)
+@skipUnlessPassed('test_rpm_install')
+def test_check_rpm_install_removal_log_file_size(self):
+
+Summary: Check rpm install/removal log file size
+Expected:There should be some method to keep rpm log in a small 
size .
+Product: BSPs
+Author:  Alexandru Georgescu alexandru.c.george...@intel.com
+AutomatedBy: Daniel Istrate daniel.alexandrux.istr...@intel.com
+
+db_files_cmd = 'ls /var/lib/rpm/__db.*'
+get_log_size_cmd = du /var/lib/rpm/log/log.* | awk '{print $1}'
+
+# Make sure that some database files are under /var/lib/rpm as 
'__db.xxx'
+(status, output) = self.target.run(db_files_cmd)
+self.assertEqual(0, status, 'Failed to find database files