summaryrefslogtreecommitdiff
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:12:32 +0000
commit4465c9368b0c37a3a2c41b68f65de08690a8179b (patch)
treec1d4c65d8be53350dec247a52169f6e9500d8d81
parent4bac11ffe389f10ca53b339a31eac167224dbc06 (diff)
downloadopenembedded-core-4465c9368b0c37a3a2c41b68f65de08690a8179b.tar.gz
openembedded-core-4465c9368b0c37a3a2c41b68f65de08690a8179b.tar.bz2
openembedded-core-4465c9368b0c37a3a2c41b68f65de08690a8179b.zip
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 Signed-off-by: Saul Wold <sgw@linux.intel.com>
-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"
DEFAULT_TEST_SUITES = "ping auto"
DEFAULT_TEST_SUITES_pn-core-image-minimal = "ping"
-DEFAULT_TEST_SUITES_pn-core-image-sato = "ping ssh df connman syslog xorg scp vnc date rpm smart dmesg"
-DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "ping ssh df connman syslog xorg scp vnc date perl ldd gcc rpm smart kernelmodule dmesg"
+DEFAULT_TEST_SUITES_pn-core-image-sato = "ping ssh df connman syslog xorg scp vnc date rpm smart dmesg python"
+DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "ping ssh df connman syslog xorg scp vnc date perl ldd gcc rpm smart kernelmodule dmesg python"
TEST_SUITES ?= "${DEFAULT_TEST_SUITES}"
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 @@
+import os
+
+os.system('touch /tmp/testfile.python')
+
+a = 9.01e+21 - 9.01e+21 + 0.01
+print "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 @@
+import unittest
+import os
+from oeqa.oetest import oeRuntimeTest, skipModule
+from oeqa.utils.decorators import *
+
+def setUpModule():
+ if not oeRuntimeTest.hasPackage("python"):
+ skipModule("No python package in the image")
+
+
+class PythonTest(oeRuntimeTest):
+
+ @classmethod
+ def setUpClass(self):
+ oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.filesdir, "test.py"), "/tmp/test.py")
+
+ def test_python_exists(self):
+ (status, output) = self.target.run('which python')
+ self.assertEqual(status, 0, msg="Python binary not in PATH or not on target.")
+
+ def test_python_stdout(self):
+ (status, output) = self.target.run('python /tmp/test.py')
+ self.assertEqual(status, 0, msg="Exit status was not 0. Output: %s" % output)
+ self.assertEqual(output, "the value of a is 0.01", msg="Incorrect output: %s" % output)
+
+ def test_python_testfile(self):
+ (status, output) = self.target.run('ls /tmp/testfile.python')
+ self.assertEqual(status, 0, msg="Python test file generate failed.")
+
+
+ @classmethod
+ def tearDownClass(self):
+ oeRuntimeTest.tc.target.run("rm /tmp/test.py /tmp/testfile.python")