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>
This commit is contained in:
Ting Wang
2014-01-03 13:36:51 +08:00
committed by Richard Purdie
parent 3b0601ab27
commit bcacd18175
3 changed files with 41 additions and 2 deletions

View File

@@ -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}"

View File

@@ -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

View File

@@ -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")