summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTing Wang <ting.wang@windriver.com>2014-01-03 13:36:51 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-01-06 11:14:01 +0000
commitbcacd181758b5ffaef4eab6cfb9947cf536fa2cb (patch)
tree3e5e8b958c5730bb766c6abc0e67a65cab356d1e
parent3b0601ab271b7ba3fb1961b6e31d694f91931e40 (diff)
downloadpoky-bcacd181758b5ffaef4eab6cfb9947cf536fa2cb.tar.gz
lib/oeqa/runtime: add test for python
Run a python script on the target 1)checks the output. 2)Call os.system method create a testfile (From OE-Core rev: 4465c9368b0c37a3a2c41b68f65de08690a8179b) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/testimage.bbclass4
-rw-r--r--meta/lib/oeqa/runtime/files/test.py6
-rw-r--r--meta/lib/oeqa/runtime/python.py33
3 files changed, 41 insertions, 2 deletions
diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index 1161e593dc..4777e140dc 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -27,8 +27,8 @@ TEST_LOG_DIR ?= "${WORKDIR}/testimage"
27 27
28DEFAULT_TEST_SUITES = "ping auto" 28DEFAULT_TEST_SUITES = "ping auto"
29DEFAULT_TEST_SUITES_pn-core-image-minimal = "ping" 29DEFAULT_TEST_SUITES_pn-core-image-minimal = "ping"
30DEFAULT_TEST_SUITES_pn-core-image-sato = "ping ssh df connman syslog xorg scp vnc date rpm smart dmesg" 30DEFAULT_TEST_SUITES_pn-core-image-sato = "ping ssh df connman syslog xorg scp vnc date rpm smart dmesg python"
31DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "ping ssh df connman syslog xorg scp vnc date perl ldd gcc rpm smart kernelmodule dmesg" 31DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "ping ssh df connman syslog xorg scp vnc date perl ldd gcc rpm smart kernelmodule dmesg python"
32 32
33TEST_SUITES ?= "${DEFAULT_TEST_SUITES}" 33TEST_SUITES ?= "${DEFAULT_TEST_SUITES}"
34 34
diff --git a/meta/lib/oeqa/runtime/files/test.py b/meta/lib/oeqa/runtime/files/test.py
new file mode 100644
index 0000000000..f3a2273c52
--- /dev/null
+++ b/meta/lib/oeqa/runtime/files/test.py
@@ -0,0 +1,6 @@
1import os
2
3os.system('touch /tmp/testfile.python')
4
5a = 9.01e+21 - 9.01e+21 + 0.01
6print "the value of a is %s" % a
diff --git a/meta/lib/oeqa/runtime/python.py b/meta/lib/oeqa/runtime/python.py
new file mode 100644
index 0000000000..c037ab2c18
--- /dev/null
+++ b/meta/lib/oeqa/runtime/python.py
@@ -0,0 +1,33 @@
1import unittest
2import os
3from oeqa.oetest import oeRuntimeTest, skipModule
4from oeqa.utils.decorators import *
5
6def setUpModule():
7 if not oeRuntimeTest.hasPackage("python"):
8 skipModule("No python package in the image")
9
10
11class PythonTest(oeRuntimeTest):
12
13 @classmethod
14 def setUpClass(self):
15 oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.filesdir, "test.py"), "/tmp/test.py")
16
17 def test_python_exists(self):
18 (status, output) = self.target.run('which python')
19 self.assertEqual(status, 0, msg="Python binary not in PATH or not on target.")
20
21 def test_python_stdout(self):
22 (status, output) = self.target.run('python /tmp/test.py')
23 self.assertEqual(status, 0, msg="Exit status was not 0. Output: %s" % output)
24 self.assertEqual(output, "the value of a is 0.01", msg="Incorrect output: %s" % output)
25
26 def test_python_testfile(self):
27 (status, output) = self.target.run('ls /tmp/testfile.python')
28 self.assertEqual(status, 0, msg="Python test file generate failed.")
29
30
31 @classmethod
32 def tearDownClass(self):
33 oeRuntimeTest.tc.target.run("rm /tmp/test.py /tmp/testfile.python")