diff options
author | Andrey Smirnov <andrew.smirnov@gmail.com> | 2017-07-11 19:40:05 -0700 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2017-07-22 22:38:21 +0200 |
commit | 4c85d3e4596ae1e9ff5fe25977abb8ef8f2294e0 (patch) | |
tree | 604ba4662405d8ea9ebb8a789619de5fd614cf67 /support/testing/tests/package/test_python.py | |
parent | 255b8ab406cf6ce114b4d2c2e2c0dba6e4402f38 (diff) | |
download | buildroot-4c85d3e4596ae1e9ff5fe25977abb8ef8f2294e0.tar.gz buildroot-4c85d3e4596ae1e9ff5fe25977abb8ef8f2294e0.zip |
testing/tests/package/test_python: refactor TestPythonBase
Convert TestPythonBase to a true base class that only provides code
implementing various tests without defining tests themselves in a
"discoverable" form.
To retain correct testing functionality, add TestPython2 derived class
that uses code from TestPythonBase to define actual runnable test.
Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
[Thomas: fix typo in commit log, update .gitlab-ci.yml, both pointed
by Ricardo.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'support/testing/tests/package/test_python.py')
-rw-r--r-- | support/testing/tests/package/test_python.py | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/support/testing/tests/package/test_python.py b/support/testing/tests/package/test_python.py index 5532fb538a..250827e93a 100644 --- a/support/testing/tests/package/test_python.py +++ b/support/testing/tests/package/test_python.py @@ -5,31 +5,46 @@ import infra.basetest class TestPythonBase(infra.basetest.BRTest): config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ """ -BR2_PACKAGE_PYTHON=y BR2_TARGET_ROOTFS_CPIO=y # BR2_TARGET_ROOTFS_TAR is not set """ - - def test_run(self): + def login(self): cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") self.emulator.boot(arch="armv5", kernel="builtin", options=["-initrd", cpio_file]) self.emulator.login() - cmd = "python --version 2>&1 | grep '^Python 2'" + + def version_test(self, version): + cmd = "python --version 2>&1 | grep '^{}'".format(version) _, exit_code = self.emulator.run(cmd) self.assertEqual(exit_code, 0) + def math_floor_test(self): cmd = "python -c 'import math; math.floor(12.3)'" _, exit_code = self.emulator.run(cmd) self.assertEqual(exit_code, 0) + def libc_time_test(self): cmd = "python -c 'import ctypes;" cmd += "libc = ctypes.cdll.LoadLibrary(\"libc.so.1\");" cmd += "print libc.time(None)'" _, exit_code = self.emulator.run(cmd) self.assertEqual(exit_code, 0) + def zlib_test(self): cmd = "python -c 'import zlib'" _, exit_code = self.emulator.run(cmd) self.assertEqual(exit_code, 1) + +class TestPython2(TestPythonBase): + config = TestPythonBase.config + \ +""" +BR2_PACKAGE_PYTHON=y +""" + def test_run(self): + self.login() + self.version_test("Python 2") + self.math_floor_test() + self.libc_time_test() + self.zlib_test() |