From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/7] support/testing: create default test case for python packages
Date: Mon, 22 Oct 2018 09:55:18 +0200 [thread overview]
Message-ID: <20181022095518.47a6fd03@windsurf> (raw)
In-Reply-To: <20181016004230.10393-2-ricardo.martincoski@gmail.com>
Hello Ricardo,
Overall, I find the patch series good (thanks for working on this!), but
there is one thing that I dislike a bit see below.
On Mon, 15 Oct 2018 21:42:24 -0300, Ricardo Martincoski wrote:
> + if self.__class__.__name__ != "TestPython2":
> + # default test_run for TestPythonPy2<Package> that inherits from this one
> + self.check_sample_scripts_exist()
> + self.run_sample_scripts()
> + return
> +
> self.version_test("Python 2")
> self.math_floor_test()
> self.libc_time_test()
> @@ -64,6 +100,13 @@ class TestPython3(TestPythonBase):
>
> def test_run(self):
> self.login()
> +
> + if self.__class__.__name__ != "TestPython3":
> + # default test_run for TestPythonPy3<Package> that inherits from this one
> + self.check_sample_scripts_exist()
> + self.run_sample_scripts()
> + return
> +
> self.version_test("Python 3")
> self.math_floor_test()
> self.libc_time_test()
I don't really like that TestPython2 and TestPython3 are used for two
entirely separate things:
- As a base class for testing individual Python packages
- As test cases for the Python interpreter itself
So here is the class hierarchy that I think would make more sense:
- TestPythonBase, defines the base configuration, login() method and
that's it
- TestPythonBase2, that appends the configuration with
BR2_PACKAGE_PYTHON=y
- TestPythonBase3, that appends the configuration with
BR2_PACKAGE_PYTHON3=y
- TestPythonInterpreter, defines the version_test(),
math_floor_test(), etc. methods that test the interpreter, and a
test_run() method that calls all those tests. Indeed, calling those
tests is currently repeated between Python2/Python3.
- TestPythonInterpreter2, which inherits from TestPythonInterpreter
and TestPythonBase2
- TestPythonInterpreter3, which inherits from TestPythonInterpreter
and TestPythonBase3
- TestPythonPackageBase, which has all the logic to copy sample
scripts, run the scripts on the target, etc
- TestPythonAutobahn that defines the sample script to use, and
inherits from TestPythonPackageBase
- TestPython2Autobahn that inherits from TestPythonAutobahn and
TestPythonBase2
etc.
Does that make sense ? Basically, I'd like the test case of the
interpreter to not be a "special case".
Does that make sense ?
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2018-10-22 7:55 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-16 0:42 [Buildroot] [PATCH 0/7] default runtime test case for python packages Ricardo Martincoski
2018-10-16 0:42 ` [Buildroot] [PATCH 1/7] support/testing: create default " Ricardo Martincoski
2018-10-22 7:55 ` Thomas Petazzoni [this message]
2018-10-23 3:15 ` Ricardo Martincoski
2018-10-16 0:42 ` [Buildroot] [PATCH 2/7] support/testing: use default test_run for python-autobahn Ricardo Martincoski
2018-10-16 0:42 ` [Buildroot] [PATCH 3/7] support/testing: use default test_run for python-cryptography Ricardo Martincoski
2018-10-16 0:42 ` [Buildroot] [PATCH 4/7] support/testing: use default test_run for python-incremental Ricardo Martincoski
2018-10-16 0:42 ` [Buildroot] [PATCH 5/7] support/testing: use default test_run for python-twisted Ricardo Martincoski
2018-10-16 0:42 ` [Buildroot] [PATCH 6/7] support/testing: use default test_run for python-txaio Ricardo Martincoski
2018-10-16 0:42 ` [Buildroot] [PATCH 7/7] support/testing: use default test_run for python-txtorcon Ricardo Martincoski
2018-11-02 4:12 ` [Buildroot] [PATCH v2 00/12] default runtime test case for python packages v2 Ricardo Martincoski
2018-11-02 4:12 ` [Buildroot] [PATCH v2 01/12] support/testing: use helper class in IPython test Ricardo Martincoski
2018-11-02 4:12 ` [Buildroot] [PATCH v2 02/12] support/testing: use helper class in Python test Ricardo Martincoski
2018-11-02 4:12 ` [Buildroot] [PATCH v2 03/12] support/testing: create intermediate class per Python version Ricardo Martincoski
2018-11-02 4:12 ` [Buildroot] [PATCH v2 04/12] support/testing: create default test case for python packages Ricardo Martincoski
2018-11-02 4:12 ` [Buildroot] [PATCH v2 05/12] support/testing: use TestPythonPackageBase for python-autobahn Ricardo Martincoski
2018-11-02 4:12 ` [Buildroot] [PATCH v2 06/12] support/testing: use TestPythonPackageBase for python-cryptography Ricardo Martincoski
2018-11-02 4:12 ` [Buildroot] [PATCH v2 07/12] support/testing: use TestPythonPackageBase for python-incremental Ricardo Martincoski
2018-11-02 4:12 ` [Buildroot] [PATCH v2 08/12] support/testing: use TestPythonPackageBase for python-twisted Ricardo Martincoski
2018-11-02 4:12 ` [Buildroot] [PATCH v2 09/12] support/testing: use TestPythonPackageBase for python-txaio Ricardo Martincoski
2018-11-02 4:12 ` [Buildroot] [PATCH v2 10/12] support/testing: use TestPythonPackageBase for python-txtorcon Ricardo Martincoski
2018-11-02 4:12 ` [Buildroot] [PATCH v2 11/12] support/testing: rename python* test cases Ricardo Martincoski
2018-11-02 4:12 ` [Buildroot] [PATCH v2 12/12] testing: add python-crossbar tests Ricardo Martincoski
2018-11-04 10:40 ` [Buildroot] [PATCH v2 00/12] default runtime test case for python packages v2 Thomas Petazzoni
2018-11-04 22:42 ` Ricardo Martincoski
2018-11-05 8:15 ` Thomas Petazzoni
2018-11-06 1:57 ` Ricardo Martincoski
2018-11-06 7:56 ` Thomas Petazzoni
2018-11-10 2:15 ` Ricardo Martincoski
2018-11-10 2:16 ` [Buildroot] [PATCH v3 0/8] default runtime test case for python packages Ricardo Martincoski
2018-11-10 2:16 ` [Buildroot] [PATCH v3 1/8] support/testing: create default " Ricardo Martincoski
2018-11-10 2:16 ` [Buildroot] [PATCH v3 2/8] support/testing: use TestPythonPackageBase for python-autobahn Ricardo Martincoski
2018-11-10 2:16 ` [Buildroot] [PATCH v3 3/8] support/testing: use TestPythonPackageBase for python-cryptography Ricardo Martincoski
2018-11-10 2:16 ` [Buildroot] [PATCH v3 4/8] support/testing: use TestPythonPackageBase for python-incremental Ricardo Martincoski
2018-11-10 2:16 ` [Buildroot] [PATCH v3 5/8] support/testing: use TestPythonPackageBase for python-twisted Ricardo Martincoski
2018-11-10 2:16 ` [Buildroot] [PATCH v3 6/8] support/testing: use TestPythonPackageBase for python-txaio Ricardo Martincoski
2018-11-10 2:16 ` [Buildroot] [PATCH v3 7/8] support/testing: use TestPythonPackageBase for python-txtorcon Ricardo Martincoski
2018-11-10 2:16 ` [Buildroot] [PATCH v3 8/8] testing: add python-crossbar tests Ricardo Martincoski
2018-11-13 19:57 ` [Buildroot] [PATCH v3 0/8] default runtime test case for python packages Thomas Petazzoni
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181022095518.47a6fd03@windsurf \
--to=thomas.petazzoni@bootlin.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.