Message ID | 20170712024009.2366-3-andrew.smirnov@gmail.com |
---|---|
State | Accepted |
Headers | show |
Hello, On Tue, Jul 11, 2017 at 11:40 PM, Andrey Smirnov wrote: > Convert TestPythonBase to a true base class that only provides code > implementing various tests without definig tests themselves in a s/definig/defining/ > "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> with the typo fixed Reviewed-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> [I executed the test and checked the -run.log is equivalent to the old one] Tested-by: Ricardo Martincoski <ricardo.martincoski@gmail.com> Below a note to be read when applying... [snip] > +class TestPython2(TestPythonBase): The runnable test got renamed, so the entry needs to be updated in .gitlab-ci.yml -tests.package.test_python.TestPythonBase: *runtime_test +tests.package.test_python.TestPython2: *runtime_test Regards, Ricardo
Hello, On Tue, 11 Jul 2017 19:40:05 -0700, Andrey Smirnov wrote: > Convert TestPythonBase to a true base class that only provides code > implementing various tests without definig 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> > --- > support/testing/tests/package/test_python.py | 23 +++++++++++++++++++---- > 1 file changed, 19 insertions(+), 4 deletions(-) Applied to master, after fixing the two issues pointed by Ricardo. BTW Ricardo: you seem to be following the changes on the test infrastructure, and contributing to it. Would you be willing to be listed in DEVELOPERS for this support/testing/ folder ? Your review and testing of the testing infrastructure patches are definitely very useful. Thanks! Thomas
diff --git a/support/testing/tests/package/test_python.py b/support/testing/tests/package/test_python.py index 5532fb5..250827e 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()
Convert TestPythonBase to a true base class that only provides code implementing various tests without definig 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> --- support/testing/tests/package/test_python.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-)