oeqa/sdk/python: clean up Python test

For the same reasons as the runtime Python test, clean up the SDK test.

Also port from Python 2 to Python 3, as that's what is supported now.

(From OE-Core rev: bead742a3ffc0a53162fb0c36610d74a1422e7b3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2018-07-16 13:54:42 +01:00
committed by Richard Purdie
parent 731ce8c760
commit ebad780985
2 changed files with 10 additions and 31 deletions

View File

@@ -1,6 +0,0 @@
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

@@ -1,32 +1,17 @@
import os
import shutil
import unittest
from oeqa.core.utils.path import remove_safe
import subprocess, unittest
from oeqa.sdk.case import OESDKTestCase
class PythonTest(OESDKTestCase):
@classmethod
def setUpClass(self):
if not (self.tc.hasHostPackage("nativesdk-python") or
self.tc.hasHostPackage("python-native")):
if not (self.tc.hasHostPackage("nativesdk-python3") or
self.tc.hasHostPackage("python3-native")):
raise unittest.SkipTest("No python package in the SDK")
for f in ['test.py']:
shutil.copyfile(os.path.join(self.tc.files_dir, f),
os.path.join(self.tc.sdk_dir, f))
def test_python_exists(self):
self._run('which python')
def test_python_stdout(self):
output = self._run('python %s/test.py' % self.tc.sdk_dir)
self.assertEqual(output.strip(), "the value of a is 0.01", msg="Incorrect output: %s" % output)
def test_python_testfile(self):
self._run('ls /tmp/testfile.python')
@classmethod
def tearDownClass(self):
remove_safe("%s/test.py" % self.tc.sdk_dir)
remove_safe("/tmp/testfile.python")
def test_python3(self):
try:
cmd = "python3 -c \"import codecs; print(codecs.encode('Uryyb, jbeyq', 'rot13'))\""
output = self._run(cmd)
self.assertEqual(output, "Hello, world\n")
except subprocess.CalledProcessError as e:
self.fail("Unexpected exit %d (output %s)" % (e.returncode, e.output))