From: Thomas Huth <thuth@redhat.com>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: "Alex Bennée" <alex.bennee@linaro.org>,
qemu-devel@nongnu.org,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Ani Sinha" <anisinha@redhat.com>,
"Richard Henderson" <richard.henderson@linaro.org>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"John Snow" <jsnow@redhat.com>
Subject: Re: [RFC PATCH 4/8] tests/pytest: add pytest to the meson build system
Date: Fri, 12 Jul 2024 13:54:46 +0200 [thread overview]
Message-ID: <b3c2838e-0122-4244-8fab-6d955d869d2e@redhat.com> (raw)
In-Reply-To: <ZpEE3Cs7gpw631Iw@redhat.com>
On 12/07/2024 12.26, Daniel P. Berrangé wrote:
> On Fri, Jul 12, 2024 at 12:14:45PM +0200, Thomas Huth wrote:
>> On 12/07/2024 11.01, Daniel P. Berrangé wrote:
>>> On Thu, Jul 11, 2024 at 01:55:42PM +0200, Thomas Huth wrote:
>>>> From: Ani Sinha <ani@anisinha.ca>
>>>>
>>>> Integrate the pytest framework with the meson build system. This
>>>> will make meson run all the pytests under the pytest directory.
>>>
>>> Lets add a note about the compelling benefit of this new approach
>>>
>>> With this change, each functional test becomes subject
>>> to an individual execution timeout, defaulting to 60
>>> seconds, but overridable per-test.
>>
>> The avocado runner uses timeouts, too, so it's not really an additional
>> benefit that we get here.
>
> At the meson level though, we can't put an overall cap on
> the execution time, as there's only 1 huge test visible,
> and thus the meson timeout multiplier also won't get
> honoured IIUC.
>
>>
>>> For CI purposes we'll need to add 'python3-pytest' to
>>> tests/lcitool/projects/qemu.yml, and re-generate the
>>> the dockerfiles. Some of the other non-gitlab CI
>>> integrations probably need manual additions of pytest
>>> packages.
>>
>> I'm currently rather looking into getting rid of pytest and to use pycotap
>> instead: Using the TAP protocol for running the tests, you get a much nicer
>> output from the meson test runner, which can then count the subtests and
>> properly report SKIPs for tests that have not been run.
>>
>>>> diff --git a/tests/Makefile.include b/tests/Makefile.include
>>>> index d39d5dd6a4..68151717d7 100644
>>>> --- a/tests/Makefile.include
>>>> +++ b/tests/Makefile.include
>>>> @@ -3,12 +3,14 @@
>>>> .PHONY: check-help
>>>> check-help:
>>>> @echo "Regression testing targets:"
>>>> - @echo " $(MAKE) check Run block, qapi-schema, unit, softfloat, qtest and decodetree tests"
>>>> + @echo " $(MAKE) check Run block, qapi-schema, unit, softfloat, qtest, pytest and decodetree tests"
>>>> @echo " $(MAKE) bench Run speed tests"
>>>> @echo
>>>> @echo "Individual test suites:"
>>>> @echo " $(MAKE) check-qtest-TARGET Run qtest tests for given target"
>>>> @echo " $(MAKE) check-qtest Run qtest tests"
>>>> + @echo " $(MAKE) check-pytest Run pytest tests"
>>>> + @echo " $(MAKE) check-pytest-TARGET Run pytest for a given target"
>>>
>>> Or name it after the type of test rather than harness ?
>>>
>>> eg check-functional / check-functional-TARGET
>>>
>>> For that matter perhaps also for the dir name ?
>>>
>>> tests/functional/*.py
>>
>> I almost expected that discussion again ... (see
>> https://lists.gnu.org/archive/html/qemu-devel/2021-05/msg06553.html ) ...
>> last time we couldn't really agree on such a name and decided to go with the
>> name of the framework...
>>
>> I agree that "pytest" is likely not the best name here, especially if
>> switching to the pycotap test runner instead of using the "pytest" program,
>> but "functional" might trigger the same discussion again as last time ...
>> should it rather be "functional" or "validation" or "integration" etc.?
>
> IMHO you can just make an executive decision and pick one of those
> three. None of them are terrible, any would be a valid choice.
Ok, I think I'll go with "functional" since that still seems to be the best
fit to me.
Thomas
next prev parent reply other threads:[~2024-07-12 12:57 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-11 11:55 [RFC PATCH 0/8] Convert avocado tests to normal Python unittests Thomas Huth
2024-07-11 11:55 ` [RFC PATCH 1/8] tests/pytest: Add base classes for the upcoming pytest-based tests Thomas Huth
2024-07-12 8:50 ` Daniel P. Berrangé
2024-07-11 11:55 ` [RFC PATCH 2/8] tests/pytest: Convert some simple avocado tests into pytests Thomas Huth
2024-07-12 8:51 ` Daniel P. Berrangé
2024-07-11 11:55 ` [RFC PATCH 3/8] tests/pytest: Convert info_usernet and version test with small adjustments Thomas Huth
2024-07-12 8:55 ` Daniel P. Berrangé
2024-07-11 11:55 ` [RFC PATCH 4/8] tests/pytest: add pytest to the meson build system Thomas Huth
2024-07-12 9:01 ` Daniel P. Berrangé
2024-07-12 10:14 ` Thomas Huth
2024-07-12 10:26 ` Daniel P. Berrangé
2024-07-12 11:54 ` Thomas Huth [this message]
2024-07-12 11:47 ` Daniel P. Berrangé
2024-07-12 11:59 ` Thomas Huth
2024-07-11 11:55 ` [RFC PATCH 5/8] tests_pytest: Implement fetch_asset() method for downloading assets Thomas Huth
2024-07-11 16:45 ` Richard Henderson
2024-07-11 18:49 ` Richard Henderson
2024-07-11 19:23 ` Alex Bennée
2024-07-11 21:35 ` Richard Henderson
2024-07-12 4:24 ` Thomas Huth
2024-07-12 4:21 ` Thomas Huth
2024-07-12 4:18 ` Thomas Huth
2024-07-12 9:09 ` Daniel P. Berrangé
2024-07-12 9:26 ` Thomas Huth
2024-07-11 11:55 ` [RFC PATCH 6/8] tests/pytest: Convert some tests that download files via fetch_asset() Thomas Huth
2024-07-12 9:11 ` Daniel P. Berrangé
2024-07-11 11:55 ` [RFC PATCH 7/8] tests/pytest: Add a function for extracting files from an archive Thomas Huth
2024-07-12 9:14 ` Daniel P. Berrangé
2024-07-12 11:52 ` Thomas Huth
2024-07-12 11:56 ` Daniel P. Berrangé
2024-07-11 11:55 ` [RFC PATCH 8/8] tests/pytest: Convert avocado test that needed avocado.utils.archive Thomas Huth
2024-07-11 12:45 ` [RFC PATCH 0/8] Convert avocado tests to normal Python unittests Daniel P. Berrangé
2024-07-11 14:39 ` Fabiano Rosas
2024-07-11 17:44 ` Thomas Huth
2024-07-12 7:07 ` Daniel P. Berrangé
2024-07-12 14:25 ` Alex Bennée
2024-07-12 14:28 ` Daniel P. Berrangé
2024-07-16 16:45 ` John Snow
2024-07-16 18:03 ` Paolo Bonzini
2024-07-16 18:10 ` Daniel P. Berrangé
2024-07-16 19:34 ` Paolo Bonzini
2024-07-16 19:46 ` Daniel P. Berrangé
2024-07-17 7:32 ` Thomas Huth
2024-07-17 7:41 ` Paolo Bonzini
2024-07-17 6:21 ` Thomas Huth
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=b3c2838e-0122-4244-8fab-6d955d869d2e@redhat.com \
--to=thuth@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=anisinha@redhat.com \
--cc=berrange@redhat.com \
--cc=jsnow@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).